{"created":"2023-07-25T10:25:43.111190+00:00","id":4153,"links":{},"metadata":{"_buckets":{"deposit":"4555f91f-5f47-48bf-a78c-b43294d866ee"},"_deposit":{"created_by":4,"id":"4153","owners":[4],"pid":{"revision_id":0,"type":"depid","value":"4153"},"status":"published"},"_oai":{"id":"oai:naist.repo.nii.ac.jp:00004153","sets":["34:35"]},"author_link":["8467","66","8468","8469"],"item_7_alternative_title_1":{"attribute_name":"その他のタイトル","attribute_value_mlt":[{"subitem_alternative_title":"AutoSort: A Supporting Method of Programming Language Detection for Analyzing Legacy Systems","subitem_alternative_title_language":"en"}]},"item_7_biblio_info_9":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicIssueDates":{"bibliographicIssueDate":"2018-06-15","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"6","bibliographicPageEnd":"1414","bibliographicPageStart":"1405","bibliographicVolumeNumber":"59","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌","bibliographic_titleLang":"ja"}]}]},"item_7_description_7":{"attribute_name":"抄録","attribute_value_mlt":[{"subitem_description":"レガシーなメインフレームシステムには,拡張子が存在せずプログラミング言語が不明なソースコードファイルが多数存在する.レガシーシステムを分析する際には各ソースコードファイルのプログラミング言語を判定する必要があるが,これを手作業で行うと多大な労力が必要となってしまう.本研究ではプログラミング言語の判定作業を支援するために,手作業で判定すべきファイルの代表をクラスタリングによって選出する手法を提案する.正確な判定を支援するため,提案手法はパターンマッチによる自動判定と,手作業での判定結果を用いた解析による判定誤りの補正をクラスタリングに組み合わせて用いる.提案手法の評価として,人手で正解のプログラミング言語を付与した2つの実際のレガシーシステムのファイル集合に対して本手法を適用した.その結果,提案手法は19万ファイルのうち,99.49%のファイルを正しく分類できることを確認した.また,これらのファイルに対する人手での判定は3.3人月の工数が必要だったが,提案手法は8時間の計算時間と,人手による15分の確認だけで判定を完了した.","subitem_description_language":"ja","subitem_description_type":"Abstract"},{"subitem_description":"Legacy mainframe systems involve many source code files without file extensions. Their programming languages are undocumented. Therefore, their respective programming languages are not easily judged by hand. Although detecting a programming language for each file is necessary for various program analysis tasks, it is time consuming to manually analyze a large amount of files. In this research, we propose a method to support the process of programming language detection employing a clustering technique to select a small number of representatives for manual detection of programming languages. To improve accuracy, our method combines pattern matching and a static analysis using a result of manual detection. In the experiment, we applied our method to two actual legacy systems whose source code files have been manually analyzed. As a result, our method correctly classified 99.49% of the 190,000 files. While a manual detection of programming languages for the systems required 3.3 man-months, our method completed the analysis in eight hours for computation and fifteen minutes for manual checks of programming languages.","subitem_description_language":"en","subitem_description_type":"Abstract"}]},"item_7_publisher_10":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"item_7_rights_11":{"attribute_name":"出版者URL","attribute_value_mlt":[{"subitem_rights":"http://id.nii.ac.jp/1001/00189912/ | http://id.nii.ac.jp/1001/00189912/"}]},"item_7_rights_18":{"attribute_name":"権利","attribute_value_mlt":[{"subitem_rights":"ここに掲載した著作物の利用に関する注意: 本著作物の著作権は(社)情報処理学会に帰属します。本著作物は著作権者である情報処理学会の許可のもとに掲載するものです。ご利用に当たっては「著作権法」ならびに「情報処理学会倫理綱領」に従うことをお願いいたします。","subitem_rights_language":"ja"},{"subitem_rights":"Notice for the use of this material The copyright of this material is retained by the Information Processing Society of Japan (IPSJ). This material is published on this web site with the agreement of the author (s) and the IPSJ. Please be complied with Copyright Law of Japan and the Code of Ethics of the IPSJ if any users wish to reproduce, make derivative work, distribute or make available to the public any part or whole thereof.","subitem_rights_language":"en"},{"subitem_rights":"Copyright (c) 2018 by the Information Processing Society of Japan","subitem_rights_language":"en"}]},"item_7_source_id_12":{"attribute_name":"EISSN/PISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7764","subitem_source_identifier_type":"ISSN"}]},"item_7_source_id_14":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN00116647","subitem_source_identifier_type":"NCID"}]},"item_7_version_type_20":{"attribute_name":"著者版フラグ","attribute_value_mlt":[{"subitem_version_resource":"http://purl.org/coar/version/c_970fb48d4fbd8a85","subitem_version_type":"VoR"}]},"item_access_right":{"attribute_name":"アクセス権","attribute_value_mlt":[{"subitem_access_right":"open access","subitem_access_right_uri":"http://purl.org/coar/access_right/c_abf2"}]},"item_creator":{"attribute_name":"著者","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Okada, Joji","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"8467","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"Ishio, Takashi","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"66","nameIdentifierScheme":"WEKO"},{"nameIdentifier":"60452413","nameIdentifierScheme":"e-Rad","nameIdentifierURI":"https://kaken.nii.ac.jp/ja/search/?qm=60452413"}]},{"creatorNames":[{"creatorName":"Sakata, Yuji","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"8468","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"Inoue, Katsuro","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"8469","nameIdentifierScheme":"WEKO"}]}]},"item_files":{"attribute_name":"ファイル情報","attribute_type":"file","attribute_value_mlt":[{"accessrole":"open_date","date":[{"dateType":"Available","dateValue":"2023-03-02"}],"displaytype":"detail","filename":"1529034750.pdf","filesize":[{"value":"513.5 kB"}],"format":"application/pdf","licensetype":"license_note","mimetype":"application/pdf","url":{"label":"fulltext","objectType":"fulltext","url":"https://naist.repo.nii.ac.jp/record/4153/files/1529034750.pdf"},"version_id":"7a45824c-6849-491b-9123-967a8d744fba"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"レガシーマイグレーション","subitem_subject_language":"ja","subitem_subject_scheme":"Other"},{"subitem_subject":"リバースエンジニアリング","subitem_subject_language":"ja","subitem_subject_scheme":"Other"},{"subitem_subject":"プログラム理解","subitem_subject_language":"ja","subitem_subject_scheme":"Other"},{"subitem_subject":"クラスタリング","subitem_subject_language":"ja","subitem_subject_scheme":"Other"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourcetype":"journal article","resourceuri":"http://purl.org/coar/resource_type/c_6501"}]},"item_title":"AutoSort:レガシーシステム分析のためのプログラミング言語の判定支援手法","item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"AutoSort:レガシーシステム分析のためのプログラミング言語の判定支援手法","subitem_title_language":"ja"},{"subitem_title":"AutoSort レガシーシステム ブンセキ ノ タメ ノ プログラミング ゲンゴ ノ ハンテイ シエン シュホウ","subitem_title_language":"ja-Kana"}]},"item_type_id":"7","owner":"4","path":["35"],"pubdate":{"attribute_name":"PubDate","attribute_value":"2018-06-22"},"publish_date":"2018-06-22","publish_status":"0","recid":"4153","relation_version_is_last":true,"title":["AutoSort:レガシーシステム分析のためのプログラミング言語の判定支援手法"],"weko_creator_id":"4","weko_shared_id":-1},"updated":"2023-11-29T08:29:24.948293+00:00"}