{"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00060513","sets":["581:582:5582"]},"path":["5582"],"owner":"10","recid":"60513","title":["類義語の特定に基づく類似コード片検索法"],"pubdate":{"attribute_name":"公開日","attribute_value":"2009-05-15"},"_buckets":{"deposit":"5169c12d-ff03-4cb0-b082-f7f2ae4606a3"},"_deposit":{"id":"60513","pid":{"type":"depid","value":"60513","revision_id":0},"owners":[10],"status":"published","created_by":10},"item_title":"類義語の特定に基づく類似コード片検索法","author_link":["0","0"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"類義語の特定に基づく類似コード片検索法"},{"subitem_title":"Retrieving Similar Code Fragments Based on Synonymous Word Identification","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"一般論文","subitem_subject_scheme":"Other"}]},"item_type_id":"2","publish_date":"2009-05-15","item_2_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"大阪大学大学院情報科学研究科"},{"subitem_text_value":"大阪大学大学院情報科学研究科"},{"subitem_text_value":"大阪大学大学院情報科学研究科"},{"subitem_text_value":"大阪大学大学院情報科学研究科"}]},"item_2_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Information Science and Technology, Osaka University","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Information Science and Technology, Osaka University","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Information Science and Technology, Osaka University","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Information Science and Technology, Osaka University","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"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/60513/files/IPSJ-JNL5005005.pdf"},"date":[{"dateType":"Available","dateValue":"2011-05-15"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-JNL5005005.pdf","filesize":[{"value":"779.1 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"8"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"c85ad50b-0892-4046-ba9b-3e397092d02e","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2009 by the Information Processing Society of Japan"}]},"item_2_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"吉田, 則裕"},{"creatorName":"服部, 剛之"},{"creatorName":"早瀬, 康裕"},{"creatorName":"井上, 克郎"}],"nameIdentifiers":[{}]}]},"item_2_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Norihiro, Yoshida","creatorNameLang":"en"},{"creatorName":"Takeshi, Hattori","creatorNameLang":"en"},{"creatorName":"Yasuhiro, Hayase","creatorNameLang":"en"},{"creatorName":"Katsuro, Inoue","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_2_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN00116647","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_2_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7764 ","subitem_source_identifier_type":"ISSN"}]},"item_2_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"ソースコード中に類似した部分(類似コード片)が散在していると,ソースコードの一部分を修正したときにその類似部分に対しても同様の修正をする必要が生じることがあるため,保守作業が困難になるという問題がある.一般に,ソフトウェア開発者は類似コード片を調査する際には,grepなどのキーワード検索ツールを用いる.しかし,類似コード片には様々な差異が存在するため,修正の必要がある類似コード片の多くを列挙できるキーワードを与えることは困難である.本研究では,入力したコード片の類似コード片を,コード片に含まれる識別子の類似性に基づいて検索する手法を提案する.本手法は,まず,共起関係に基づいて語(識別子を分割・正規化した後の文字列)をクラスタリングすることで類義語を求める.その後,入力コード片に含まれるすべての語について,同一もしくは類義語である語を含むコード片を検出し,類似コード片として提示する.適用実験として,提案手法を用いて類似した欠陥を含むコード片の検索を行ったところ,類似した欠陥の多くを提示できることを確認した.また,提案手法と既存ツール(grepおよびコードクローン検出ツールCCFinder)との比較実験を行い,それぞれの検索結果が持つ特徴を確認した.","subitem_description_type":"Other"}]},"item_2_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"A similar code fragment is a code fragment that has similar part to it in source code, and is generally considered as one of factors that make software maintenance more difficult. If developers modify a code fragment, they have to determine whether or not to modify similar code fragments in source code. For finding similar code fragments, developers can use keyword-based search (e.g. grep). However, it is difficult to determine appropriate search keywords since there are various code fragments to implement similar functions. In this paper, we propose a method to retrieve code fragments that are similar in their identifier names to an input code fragment. In our method, at first, to make clusters of synonymous words in source code, the clustering is performed based on co-occurrence of words that derived from identifier names. Then, code fragments that involve words in an identical cluster are presented as similar code fragments. We show the usefulness of our method through case studies to retrieve similar code fragments involving similar defects. In addition, we present a case study for comparing our proposed method with a code clone detection tool CCFinder and a keyword-based search tool grep.","subitem_description_type":"Other"}]},"item_2_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"1519","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌"}],"bibliographicPageStart":"1506","bibliographicIssueDates":{"bibliographicIssueDate":"2009-05-15","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"5","bibliographicVolumeNumber":"50"}]},"relation_version_is_last":true,"weko_creator_id":"10"},"id":60513,"updated":"2025-01-22T03:05:58.093995+00:00","links":{},"created":"2025-01-18T23:22:58.610667+00:00"}