{"links":{},"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00016804","sets":["934:935:969:971"]},"path":["971"],"owner":"1","recid":"16804","title":["リファクタリングを自動化するための基本機構の提案"],"pubdate":{"attribute_name":"公開日","attribute_value":"2002-03-15"},"_buckets":{"deposit":"8c2b7a77-09da-49c5-8d37-7eb57f0c6c42"},"_deposit":{"id":"16804","pid":{"type":"depid","value":"16804","revision_id":0},"owners":[1],"status":"published","created_by":1},"item_title":"リファクタリングを自動化するための基本機構の提案","author_link":["0","0"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"リファクタリングを自動化するための基本機構の提案"},{"subitem_title":"A Mechanism to Support Automated Refactoring Process","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"発表概要","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2002-03-15","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"九州大学大学院システム情報科学府"},{"subitem_text_value":"九州大学大学院システム情報科学研究院"},{"subitem_text_value":"九州大学大学院システム情報科学研究院"},{"subitem_text_value":"九州システム情報技術研究所"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Information Science and Electrical Engineering, Kyushu University","subitem_text_language":"en"},{"subitem_text_value":"Faculty of Information Science and Electrical Engineering, Kyushu University","subitem_text_language":"en"},{"subitem_text_value":"Faculty of Information Science and Electrical Engineering, Kyushu University","subitem_text_language":"en"},{"subitem_text_value":"Institute of Systems & Information Technologies/KYUSHU","subitem_text_language":"en"}]},"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/16804/files/IPSJ-TPRO4303009.pdf"},"date":[{"dateType":"Available","dateValue":"2004-03-15"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO4303009.pdf","filesize":[{"value":"36.2 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"0","billingrole":"5"},{"tax":["include_tax"],"price":"0","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"afa0e579-8aa5-42f0-86f5-f0ea0004c0f6","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2002 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"秦野, 克彦"},{"creatorName":"乃村, 能成"},{"creatorName":"谷口, 秀夫"},{"creatorName":"牛島, 和夫"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Katsuhiko, Hatano","creatorNameLang":"en"},{"creatorName":"Yoshinari, Nomura","creatorNameLang":"en"},{"creatorName":"Hideo, Taniguchi","creatorNameLang":"en"},{"creatorName":"Kazuo, Ushijima","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA11464814","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":"1882-7802","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"ソフトウェアを要求機能に合わせて改版することを繰り返し行うと冗長な箇所や複雑な箇所が現れてしまう.こうしたプログラム構造の品質低下は将来の機能拡張と保守作業を困難にする.そこで,プログラム構造を見直し,品質を向上させるためにはリファクタリングが有効である.リファクタリングとは,ソフトウェアの提供する機能を変更することなく内部構造を変化させることである.リファクタリングにより,機能拡張や保守作業が円滑になると期待できる.ここで,リファクタリングを行うためにはプログラムの品質低下を招いている箇所を見つけ出す必要がある.さらに,その箇所を取り除ける適切なリファクタリング手法を選択しなければならない.従来,こうした判断は難しく,適切なリファクタリング手法を選ぶためには,その目的や効果に関する知識や経験を必要とした.そこで,本発表ではリファクタリングを行う際に,ソフトウェアメトリクスを用いる機構を提案する.具体的にはプログラム構造の品質の度合いをソフトウェアメトリクスを用いて数値化する.また,各種ソフトウェアメトリクスにより,数値化された品質の度合いに適したリファクタリング手法の選択を可能にする.これにより,作業者の経験や知識に比較的かかわりなくプログラムを改善していくことができる.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Software flexibility and expandablity reflect program architecture. For example, it is difficult to add functions and to maintenance programs because of its complexity. We need to improve software carefully if we want to keep it high quality. We can use a technique called “Refactoring”. “Refactoring” is to reorganize a program without changing its functions. Refactorings are used to make other program changes easier for future modification and maintenance. We have to find out where we apply refactoring and which refactoring we should use. This presentation proposes a mechanism to support automated refactoring process. Our approach to indentifying the refactoring candidate is based on software metrics. This mechanism help us to choose an appropriate refactoring method when we improve programs without experience and knowledge.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"79","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"79","bibliographicIssueDates":{"bibliographicIssueDate":"2002-03-15","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"SIG03(PRO14)","bibliographicVolumeNumber":"43"}]},"relation_version_is_last":true,"weko_creator_id":"1"},"created":"2025-01-18T22:49:58.480694+00:00","updated":"2025-01-22T23:40:14.048316+00:00","id":16804}