{"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00215806","sets":["934:10195:10779:10781"]},"path":["10781"],"owner":"44499","recid":"215806","title":["レガシーシステム移行時の性能劣化を改善するリファクタリング支援手法の提案"],"pubdate":{"attribute_name":"公開日","attribute_value":"2022-01-15"},"_buckets":{"deposit":"e8da3c16-86f4-48f7-b2e0-3fe2eb60fb39"},"_deposit":{"id":"215806","pid":{"type":"depid","value":"215806","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"レガシーシステム移行時の性能劣化を改善するリファクタリング支援手法の提案","author_link":["555860","555859","555863","555857","555864","555865","555858","555861","555866","555862"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"レガシーシステム移行時の性能劣化を改善するリファクタリング支援手法の提案"},{"subitem_title":"Proposal of a Refactoring Support Method to Improve Performance Degradation after Legacy System Migration","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[一般投稿論文] リファクタリング, 性能改善, レガシーシステム","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2022-01-15","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"株式会社NTTデータ/大阪大学"},{"subitem_text_value":"NTTデータ先端技術株式会社"},{"subitem_text_value":"奈良先端科学技術大学院大学"},{"subitem_text_value":"株式会社NTTデータ"},{"subitem_text_value":"大阪大学"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/215806/files/IPSJ-TDP0301001.pdf","label":"IPSJ-TDP0301001.pdf"},"date":[{"dateType":"Available","dateValue":"2022-01-15"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TDP0301001.pdf","filesize":[{"value":"1.9 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"0","billingrole":"5"},{"tax":["include_tax"],"price":"0","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"bf5ab35f-66bb-41da-bcb4-930aecdf6d04","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2022 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"岡田, 譲二"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"パルヴァテ, アブヘイ"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"石尾, 隆"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"坂田, 祐司"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"井上, 克郎"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Joji, Okada","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Abhay, Parvate","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Takashi, Ishio","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Yuji, Sakata","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Katsuro, Inoue","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA12894091","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_3_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"2435-6484","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"長年保守し続けられてきたメインフレーム上の基幹システム(以降はレガシーシステムと呼ぶ)では,データベースから取得した結果に対して,ループや条件分岐などの制御構造(Loop Idiom)を用いて加工を行う手続き型のプログラムが数多く存在する.これらのプログラムを新しいプログラミング言語に移行(リライト)する際に実行時性能の劣化がしばしば起こる.こういった実行時性能の劣化を防ぐため,プログラムを分散処理などに書き換えるといったリファクタリングを行うことが多いが,このリファクタリングは単純ではなく工数がかかる.本稿では,新しいプログラミング言語にリライトしたプログラムを並列実行可能な形にリファクタリングする作業を支援することで,移行後のプログラムの実行時性能を改善する手法について提案する.評価実験として,2つの実際のレガシーシステムのプログラム7,565本に対して提案手法を適用した.書き換え前後のプログラムに同一の入力データを与えることで振る舞いを保ったリファクタリングができていることを確認するとともに,リファクタリング前後のプログラムの実行時間の評価を行うことで,提案手法の有効性を確認した.本手法で実際のレガシーシステムのソースコード3,529本のリファクタリングができ,リファクタリング前と比較して実行時性能を2倍から50倍改善させることができた.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"In mainframe mission-critical systems that have been maintained for many years (hereafter referred to as legacy systems), there are many procedural programs that process results obtained from databases using control structures such as loops and conditional branches. When these programs are migrated to a new programming language, degradation of runtime performance often occurs. To prevent such degradation of runtime performance, programs are often rewritten for distributed processing, but this rewriting process is not simple and requires a lot of time and effort. In this research, we support the rewriting of programs that have been rewritten in a new programming language into a form that can be executed in parallel. As an evaluation experiment, we applied the proposed method to 7,565 programs of 2 real legacy systems. We confirmed that the behavior of the programs before and after the rewriting was maintained by providing the same input data to the programs. We also confirmed the effectiveness of the proposed method by evaluating the execution time of the programs before and after rewriting. By using this method, we were able to rewrite 3,529 source codes of an actual legacy system, and improved the runtime performance by 2 to 50 times compared with that before rewriting.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"10","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌デジタルプラクティス(TDP)"}],"bibliographicPageStart":"1","bibliographicIssueDates":{"bibliographicIssueDate":"2022-01-15","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"1","bibliographicVolumeNumber":"3"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"id":215806,"updated":"2025-01-19T16:00:54.097033+00:00","links":{},"created":"2025-01-19T01:16:32.898531+00:00"}