JP2016184323A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2016184323A JP2016184323A JP2015064715A JP2015064715A JP2016184323A JP 2016184323 A JP2016184323 A JP 2016184323A JP 2015064715 A JP2015064715 A JP 2015064715A JP 2015064715 A JP2015064715 A JP 2015064715A JP 2016184323 A JP2016184323 A JP 2016184323A
- Authority
- JP
- Japan
- Prior art keywords
- code
- clone
- version
- code clone
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶するコードクローン抽出管理部と、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定するコードクローン判定部と、
を備えた、
という構成をとる。
情報処理装置に、
バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶するコードクローン抽出管理部と、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定するコードクローン判定部と、
を実現させる、
という構成をとる。
バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶し、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定する、
という構成をとる。
本発明の第1の実施形態を、図3乃至図12を参照して説明する。図3は、コードクローンを説明するための図である。図4乃至図5は、情報処理装置の構成を説明するための図である。図6乃至図12は、情報処理装置の処理内容や動作を説明するための図である。
本発明の情報処理装置は、プログラムのソースコードからコードクローンを検出して、そのコードクローンの信頼性を判定するものである。ここで、まず、コードクローンについて、図3を参照して説明する。
次に、上述した情報処理装置1の動作を、図6乃至図12を参照して説明する。このとき、特に、図7乃至図10のフローチャートを参照して、動作を1つずつ順を追って説明する。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置(図13参照)、プログラム、コードクローン判定方法の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶するコードクローン抽出管理部101と、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定するコードクローン判定部102と、
を備えた情報処理装置100。
付記1に記載の情報処理装置であって、
前記コードクローン抽出管理部は、対象となるソースコードから、前記記憶装置に記憶されている前記コードクローンと所定基準により同一であると判定される新たなコードクローンを抽出し、
前記コードクローン判定部は、新たに抽出された前記コードクローンについて、前記記憶装置に記憶されているソースコードのバージョンの変化に伴う抽出数の変化を調べ、当該抽出数の変化に基づいて、当該コードクローンの信頼性を判定する、
情報処理装置。
付記1又は2に記載の情報処理装置であって、
前記コードクローン判定部は、ソースコードのバージョンが新しく変化するに伴い前記コードクローンの抽出数が減少している当該コードクローンを、信頼性が低いコードとして判定する、
情報処理装置。
付記1乃至3のいずれかに記載の情報処理装置であって、
前記コードクローン判定部は、ソースコードのバージョンが新しく変化するに伴い前記コードクローンの抽出数が増加している当該コードクローンを、信頼性が高いコードとして判定する、
情報処理装置。
付記1乃至4のいずれかに記載の情報処理装置であって、
前記コードクローン判定部は、ソースコードのバージョンが新しく変化するに伴い前記コードクローンの抽出数が変化しない当該コードクローンを、信頼性が高いコードとして判定する、
付記1乃至5のいずれかに記載の情報処理装置であって、
前記コードクローン判定部は、前記コードクローンの抽出数が所定値以上である当該コードクローンを、信頼性が高いコードとして判定する、
情報処理装置。
付記1乃至6のいずれかに記載の情報処理装置であって、
前記コードクローン判定部は、前記コードクローンに対する信頼性の判定結果を、当該コードクローンのコードと共に出力する、
情報処理装置。
情報処理装置に、
バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶するコードクローン抽出管理部と、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定するコードクローン判定部と、
を実現させるためのプログラム。
付記8に記載のプログラムであって、
前記コードクローン抽出管理部は、対象となるソースコードから、前記記憶装置に記憶されている前記コードクローンと所定基準により同一であると判定される新たなコードクローンを抽出し、
前記コードクローン判定部は、新たに抽出された前記コードクローンについて、前記記憶装置に記憶されているソースコードのバージョンの変化に伴う抽出数の変化を調べ、当該抽出数の変化に基づいて、当該コードクローンの信頼性を判定する、
プログラム。
バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶し、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定する、
コードクローン判定方法。
付記9に記載のコードクローン判定方法であって、
対象となるソースコードから、前記記憶装置に記憶されている前記コードクローンと所定基準により同一であると判定される新たなコードクローンを抽出し、
新たに抽出された前記コードクローンについて、前記記憶装置に記憶されているソースコードのバージョンの変化に伴う抽出数の変化を調べ、当該抽出数の変化に基づいて、当該コードクローンの信頼性を判定する、
コードクローン判定方法。
10 コードクローン情報リポジトリ
11 コードクローンバージョン単位抽出機能
12 コードクローンマッピング機能
13 警告表示機能
100 情報処理装置
101 コードクローン抽出管理部
102 コードクローン判定部
Claims (9)
- バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶するコードクローン抽出管理部と、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定するコードクローン判定部と、
を備えた情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記コードクローン抽出管理部は、対象となるソースコードから、前記記憶装置に記憶されている前記コードクローンと所定基準により同一であると判定される新たなコードクローンを抽出し、
前記コードクローン判定部は、新たに抽出された前記コードクローンについて、前記記憶装置に記憶されているソースコードのバージョンの変化に伴う抽出数の変化を調べ、当該抽出数の変化に基づいて、当該コードクローンの信頼性を判定する、
情報処理装置。 - 請求項1又は2に記載の情報処理装置であって、
前記コードクローン判定部は、ソースコードのバージョンが新しく変化するに伴い前記コードクローンの抽出数が減少している当該コードクローンを、信頼性が低いコードとして判定する、
情報処理装置。 - 請求項1乃至3のいずれかに記載の情報処理装置であって、
前記コードクローン判定部は、ソースコードのバージョンが新しく変化するに伴い前記コードクローンの抽出数が増加している当該コードクローンを、信頼性が高いコードとして判定する、
情報処理装置。 - 請求項1乃至4のいずれかに記載の情報処理装置であって、
前記コードクローン判定部は、ソースコードのバージョンが新しく変化するに伴い前記コードクローンの抽出数が変化しない当該コードクローンを、信頼性が高いコードとして判定する、 - 請求項1乃至5のいずれかに記載の情報処理装置であって、
前記コードクローン判定部は、前記コードクローンの抽出数が所定値以上である当該コードクローンを、信頼性が高いコードとして判定する、
情報処理装置。 - 請求項1乃至6のいずれかに記載の情報処理装置であって、
前記コードクローン判定部は、前記コードクローンに対する信頼性の判定結果を、当該コードクローンのコードと共に出力する、
情報処理装置。 - 情報処理装置に、
バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶するコードクローン抽出管理部と、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定するコードクローン判定部と、
を実現させるためのプログラム。 - バージョン毎のソースコードから、それぞれ所定基準により同一であると判定されるコードであるコードクローンを抽出して、当該コードクローン毎に各バージョンにおける抽出結果を記憶装置に記憶し、
ソースコードのバージョンの変化に伴う、当該バージョン毎の前記コードクローン毎の抽出数の変化に基づいて、当該コードクローンの信頼性を判定する、
コードクローン判定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015064715A JP6543990B2 (ja) | 2015-03-26 | 2015-03-26 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015064715A JP6543990B2 (ja) | 2015-03-26 | 2015-03-26 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016184323A true JP2016184323A (ja) | 2016-10-20 |
JP6543990B2 JP6543990B2 (ja) | 2019-07-17 |
Family
ID=57242880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015064715A Active JP6543990B2 (ja) | 2015-03-26 | 2015-03-26 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6543990B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021140433A (ja) * | 2020-03-04 | 2021-09-16 | 株式会社日立製作所 | 開発支援方法、開発支援装置及びプログラム |
WO2022034919A1 (ja) * | 2020-08-13 | 2022-02-17 | 株式会社Sider | 情報処理装置、情報処理方法、プログラム及び情報処理システム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011108059A (ja) * | 2009-11-19 | 2011-06-02 | Canon Inc | 類似ソースコード管理システム及びプログラム並びに記録媒体 |
JP2014503910A (ja) * | 2010-12-20 | 2014-02-13 | マイクロソフト コーポレーション | コードクローンの通知およびアーキテクチャの変更の視覚化 |
-
2015
- 2015-03-26 JP JP2015064715A patent/JP6543990B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011108059A (ja) * | 2009-11-19 | 2011-06-02 | Canon Inc | 類似ソースコード管理システム及びプログラム並びに記録媒体 |
JP2014503910A (ja) * | 2010-12-20 | 2014-02-13 | マイクロソフト コーポレーション | コードクローンの通知およびアーキテクチャの変更の視覚化 |
Non-Patent Citations (6)
Title |
---|
MIRYUNG KIM, VIBHA SAZAWAL, DAVID NOTKIN AND GAIL C. MURPHY: "An Empirical Study of Code Clone Genealogies", PROCEEDINGS OF THE 10TH EUROPIAN SOFTWARE ENGINEERING CONFERENCE HELD JOINTLY WITH 13TH ACM SIGSOFT, JPN7018003933, 5 September 2005 (2005-09-05), US, pages 187 - 196 * |
吉田則裕、崔 恩瀞、肥後芳樹、楠本真二、井上克郎: "産学連携による携帯端末用ソフトウェアに対する品質改善の取り組み", ソフトウェアエンジニアリングシンポジウム2012[ONLINE], JPN6018045246, 21 August 2012 (2012-08-21), JP, pages p.1−6 * |
堀田圭佑、肥後芳樹、楠本真二: "オープンソースソフトウェアにおけるコードクローンの消失に関する調査", 電子情報通信学会技術研究報告, vol. Vol.112,No.275, JPN6018045247, 25 October 2012 (2012-10-25), JP, pages p.111−116(SS2012-42) * |
藤原雄介、藤原賢二、吉田則裕、飯田 元: "版管理システムを用いた開発プロセスに適したコードクローン修正支援ツールの検討", 情報処理学会研究報告[ONLINE], vol. 2013, no. 30, JPN6018045250, 17 October 2013 (2013-10-17), JP, pages p.1−6 * |
西田皓司、伏田享平、川口真司、飯田 元: "コードクローンに対する変更の一貫性と欠陥発生との関連性に関する分析", 電子情報通信学会技術研究報告, vol. Vol.109,No.456, JPN6018045248, 1 March 2010 (2010-03-01), JP, pages p.67−72(SS2009-59) * |
門田暁人、佐藤慎一、神谷年洋、松本健一: "コードクローンに基づくレガシーソフトウェアの品質の分析", 情報処理学会論文誌, vol. 第44巻,第8号, JPN6018045254, 15 August 2003 (2003-08-15), JP, pages p.2178−2188 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021140433A (ja) * | 2020-03-04 | 2021-09-16 | 株式会社日立製作所 | 開発支援方法、開発支援装置及びプログラム |
JP7296904B2 (ja) | 2020-03-04 | 2023-06-23 | 株式会社日立製作所 | 開発支援方法、開発支援装置及びプログラム |
WO2022034919A1 (ja) * | 2020-08-13 | 2022-02-17 | 株式会社Sider | 情報処理装置、情報処理方法、プログラム及び情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
JP6543990B2 (ja) | 2019-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10261884B2 (en) | Method for correcting violation of source code and computer readable recording medium having program performing the same | |
WO2015135286A1 (zh) | 提取pe文件特征的方法及装置 | |
KR102160780B1 (ko) | 버그 정정 시스템 및 버그 정정 방법 | |
JP5845888B2 (ja) | ソフトウェア修正装置、ソフトウェア修正システム、ソフトウェア修正方法、及び、ソフトウェア修正プログラム | |
US10409572B2 (en) | Compiled file normalization | |
US8468512B2 (en) | Abstracting benefit rules from computer code | |
JP6543990B2 (ja) | 情報処理装置 | |
WO2015135291A1 (zh) | 病毒检测方法及装置 | |
JP5077455B2 (ja) | 脆弱性監査プログラム、脆弱性監査装置、脆弱性監査方法 | |
KR102086749B1 (ko) | 텍스트 마이닝을 이용한 안드로이드 실행 파일의 유사도 측정 시스템 및 방법 | |
JP5293521B2 (ja) | デザインルールチェック検証装置およびデザインルールチェック検証方法 | |
JP6451417B2 (ja) | デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム | |
US20220334941A1 (en) | Pattern extraction and rule generation apparatus, method, and program | |
JP6235945B2 (ja) | ソースコード生成および提供装置、並びにソースコード生成および提供方法 | |
JP5741265B2 (ja) | プログラム改善支援システム | |
JP2004326337A (ja) | コード解析プログラム、コード解析自動化プログラム及び自動コード解析システム | |
JP2005284785A (ja) | プログラム開発装置 | |
KR101523842B1 (ko) | 번역 관리 방법 및 시스템 | |
JP5578625B2 (ja) | プログラム分析装置、プログラム分析方法、及びプログラム | |
JP5293563B2 (ja) | 言語変換装置、言語変換方法およびプログラム | |
JP2008020972A (ja) | ソフトウエア解析システム | |
JP6141563B2 (ja) | ソフトウェア管理装置およびソフトウェア管理方法 | |
JP6442908B2 (ja) | 修正装置、翻訳装置、修正方法、および、コンピュータ・プログラム | |
JP5273057B2 (ja) | モジュール更新検出プログラム、モジュール更新検出方法及びモジュール更新検出装置 | |
JP5949889B2 (ja) | ソフトウェア開発支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190521 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190603 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6543990 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |