JP2013164765A - ソースコード類似関係可視化装置 - Google Patents
ソースコード類似関係可視化装置 Download PDFInfo
- Publication number
- JP2013164765A JP2013164765A JP2012027974A JP2012027974A JP2013164765A JP 2013164765 A JP2013164765 A JP 2013164765A JP 2012027974 A JP2012027974 A JP 2012027974A JP 2012027974 A JP2012027974 A JP 2012027974A JP 2013164765 A JP2013164765 A JP 2013164765A
- Authority
- JP
- Japan
- Prior art keywords
- similarity
- source code
- source
- graph structure
- codes
- 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
Abstract
【解決手段】
本発明に係るソースコード類似関係可視化装置では、ユーザが類似度閾値を設定するための類似度閾値設定手段を有する。そして、可視化対象のソースコードをノードとし可視化対象のソースコードのうち、ソースコード間類似度が前記類似度閾値以上となる類似関係をエッジとする無向グラフ構造を生成するグラフ構造生成手段を有し、生成された無向グラフ構造を表示する。
【選択図】図2
Description
Sij=L(fi∧fj)/L(fi∨fj) (数1)
共通行数L(fi∧fj)は、以下の式により求める。
L(fi∧fj)=(L(fi)+L(fj)−L(Dij))/2 (数2)
独立行数L(fi∨fj)は以下の式により求める。
L(fi∨fj)=L(fi)+L(fj)−L(fi∧fj) (数3)
図4は、類似度分析部12の処理の流れを示すフローチャートである。ステップS121から処理を開始する。ステップS122でファイルIDを示す変数iとjに1を代入して初期化し、ステップS123に進む。ステップS123ではファイルiとjとの間における類似度計算処理を行い、SijおよびSjiに代入する。なお、SijとSjiとは等しいため、Sijの計算結果をSjiにも代入する。その後、ステップS124に進み、jがファイル数N未満であるか否かをチェックし、N未満であればステップS125に進み、N以上であればステップS126に進む。ステップS125ではjに1を加算し、ステップS123に進む。ステップS126ではiがファイル数N未満であるか否かを判定し、N未満であればステップS127に進み、N以上であればステップS128に進む。ステップS127ではiに1を加算したのち、jにiを加算し、ステップS123に進む。ステップS128で処理を終了する。
類似関係グラフ511はソースコード間の類似関係を無向グラフで表示する。ノードは各ファイルであり、エッジの有無はファイル間類似度Sijが閾値を超えたか否かで決定する。なお、描画時には計算処理軽減のため、隣接行列Aを参照する。ノードの面積は、ファイル情報115におけるサイズに対応して決定する。なお、図への記載は省略するが、同一の連結グラフIDを持つノードは同色で描画する。その後、同一の完全グラフIDを持つノードは同色で描画する。ただし、視認性のため、連結グラフIDおよび完全グラフID間ではそれぞれ描画色を異なる色とする。また、独立ファイル成分に判定されたノードは、上記連結グラフIDおよび完全グラフIDに割り当てられた色とは異なる無彩色にて描画する。
<まとめ>
以上のように、本実施の形態においてソースコード類似関係可視化装置10は、ユーザが類似度閾値を設定するための類似度閾値設定部13を有する。ソースコードをノードとし、ソースコード間類似度が前記類似度閾値以上となる類似関係をエッジとする無向グラフ構造を生成するグラフ構造生成手段15を有する。これにより、ソースコード間の類似関係を、ユーザが理解しやすい形式で図示することができる。
Claims (8)
- 複数のソースコードの関係を可視化するためのソースコード類似関係可視化装置において、
前記複数のソースコード間の類似度を解析するソースコード解析情報を生成するソースコード解析情報生成手段と、
前記ソースコード解析情報に基づいて複数のソースコード間のソースコード間類似度を算出する類似度分析手段と、
前記複数のソースコードそれぞれをノードとし、前記ソースコードから前記類似度分析手段により算出された類似度が所定の類似度閾値以上を有するソースコードを抽出し、抽出されたソースコードを接続することで、ソースコード間類似度が前記類似度閾値以上となる類似関係をエッジとする無向グラフ構造を生成するグラフ構造生成手段と、
前記無向グラフ構造を表示する表示手段とを有することを特徴とするソースコード類似関係可視化装置。 - 前記ソースコード解析情報生成手段は、前記複数のソースコードそれぞれに関するソースコード行数を出力し、
前記表示手段は、前記ソースコード行数に基づいて、前記複数のソースコードそれぞれを示すノードのサイズを設定することを特徴とする請求項1記載のソースコード類似関係可視化装置。 - 前記グラフ構造生成手段は、前記グラフ構造に基づいて連結グラフを構成するソースコードを同一グループとする連結グループ情報を出力する連結グラフ分析手段を有し、
前記表示手段は、前記連結グループ情報に基づいて、同一グループに属するソースコードを示すノードを同色で表示するソースコード配色手段を有することを特徴とする請求項1記載のソースコード類似関係可視化装置。 - 前記グラフ構造生成手段は、前記グラフ構造に基づいて完全グラフを構成するソースコードを同一グループとする完全グループ情報を出力する完全グラフ分析手段を有し、
前記表示手段は、前記完全グループ情報に基づいて、同一グループに属するソースコードを示すノードを同色で表示するソースコード配色手段を有することを特徴とする請求項1記載のソースコード類似関係可視化装置。 - 前記ソースコード配色手段は、前記グルーピング情報に基づいて、他のソースコードとの類似関係にない独立したソースコード群を同色で表示する独立ソースコード配色手段を有することを特徴とする請求項3記載のソースコード類似関係可視化装置。
- 当該ソースコード類似関係可視化装置のユーザが前記類似度閾値を設定する類似度閾値設定手段を更に有することを特徴とする請求項1乃至5のいずれかに記載のソースコード類似関係可視化装置。
- 前記グラフ構造生成手段は、前記類似度閾値設定手段により閾値が変更された際には、当該変更に応じて前記無向グラフ構造を再生成することを特徴とする請求項6記載のソースコード類似関係可視化装置。
- 前記類似度閾値設定手段は、設定閾値の最小値を類似度0%、最大値を類似度100%とするスライダであることを特徴とする請求項6または7のいずれかに記載のソースコード類似関係可視化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012027974A JP5789537B2 (ja) | 2012-02-13 | 2012-02-13 | ソースコード類似関係可視化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012027974A JP5789537B2 (ja) | 2012-02-13 | 2012-02-13 | ソースコード類似関係可視化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013164765A true JP2013164765A (ja) | 2013-08-22 |
JP5789537B2 JP5789537B2 (ja) | 2015-10-07 |
Family
ID=49176071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012027974A Active JP5789537B2 (ja) | 2012-02-13 | 2012-02-13 | ソースコード類似関係可視化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5789537B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015176362A (ja) * | 2014-03-14 | 2015-10-05 | 富士ゼロックス株式会社 | デザイン管理装置及びプログラム |
KR101934583B1 (ko) * | 2018-01-17 | 2019-01-02 | 주식회사 머니브레인 | 대화형 ai 에이전트 시스템을 위한 지식베이스의 시각화 방법 및 컴퓨터 판독가능 기록 매체 |
US11099842B2 (en) | 2019-01-08 | 2021-08-24 | Saudi Arabian Oil Company | Source code similarity detection using digital fingerprints |
US20230205736A1 (en) * | 2021-12-24 | 2023-06-29 | Vast Data Ltd. | Finding similarities between files stored in a storage system |
JP7375410B2 (ja) | 2018-10-26 | 2023-11-08 | 富士フイルムビジネスイノベーション株式会社 | 計算ノートブックインターフェースのためのシステム、方法、プログラム、及び装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216425A (ja) * | 2002-01-24 | 2003-07-31 | Japan Science & Technology Corp | 類似度計測システム |
-
2012
- 2012-02-13 JP JP2012027974A patent/JP5789537B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003216425A (ja) * | 2002-01-24 | 2003-07-31 | Japan Science & Technology Corp | 類似度計測システム |
Non-Patent Citations (7)
Title |
---|
JPN6015014436; 小林清浩、金岡泰保、浜本義彦、富田真吾、今村二康、高橋正司、久保田文子: '"入力文字列に対するファイル内類似文字列の探索法について"' 電子通信学会論文誌 Vol.J74-D-1, 19910125, p.39-49, 社団法人 電子情報通信学会 * |
JPN6015014438; 鈴木努: "Rで学ぶデータサイエンス 8 ネットワーク分析" 初版, 20090925, p.152-153, 共立出版株式会社 * |
JPN6015014440; 村田雄貴、舘村純一: '"社会的類似度と内容の類似度を利用した視覚的ブラウジング"' 情報処理学会第60回(平成12年前期)全国大会 講演論文集(4) , 20000314, p.4-21〜4-22, 社団法人 情報処理学会 * |
JPN6015014442; 今井健男、片岡欣夫、深谷哲司: '"機能多重度を用いた保守性見積り手法の提案と評価"' 情報処理学会研究報告 ソフトウェア工学 Vol.2002、No.64, 20020711, p.89-96, 社団法人 情報処理学会 * |
JPN6015014443; 井上悦子、吉廣卓哉、中川優: '"大規模クラスタリング結果のグラフによるインタラクティブな可視化手法"' 情報処理学会研究報告 Vol.2006、No.118, 20061116, p.21-28, 社団法人情報処理学会 * |
JPN6015014445; 鉢呂重喜、斎藤隆文: '"木構造を持つ多変数データの可視化"' 情報処理学会研究報告 Vol.2003、No.15, 20030214, p.43-48, 社団法人情報処理学会 * |
JPN6015014446; 安倍満、吉田悠一: '"VisualRankの多クラスへの拡張"' 電子情報通信学会技術研究報告 Vol.108、No.363, 20081211, p.183-188, 社団法人電子情報通信学会 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015176362A (ja) * | 2014-03-14 | 2015-10-05 | 富士ゼロックス株式会社 | デザイン管理装置及びプログラム |
KR101934583B1 (ko) * | 2018-01-17 | 2019-01-02 | 주식회사 머니브레인 | 대화형 ai 에이전트 시스템을 위한 지식베이스의 시각화 방법 및 컴퓨터 판독가능 기록 매체 |
WO2019143141A1 (ko) * | 2018-01-17 | 2019-07-25 | 주식회사 머니브레인 | 대화형 ai 에이전트 시스템을 위한 지식베이스의 시각화 방법 및 컴퓨터 판독가능 기록 매체 |
JP7375410B2 (ja) | 2018-10-26 | 2023-11-08 | 富士フイルムビジネスイノベーション株式会社 | 計算ノートブックインターフェースのためのシステム、方法、プログラム、及び装置 |
US11099842B2 (en) | 2019-01-08 | 2021-08-24 | Saudi Arabian Oil Company | Source code similarity detection using digital fingerprints |
US20230205736A1 (en) * | 2021-12-24 | 2023-06-29 | Vast Data Ltd. | Finding similarities between files stored in a storage system |
Also Published As
Publication number | Publication date |
---|---|
JP5789537B2 (ja) | 2015-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5789537B2 (ja) | ソースコード類似関係可視化装置 | |
Jin et al. | Core maintenance in dynamic graphs: A parallel approach based on matching | |
JP2017097643A (ja) | 機械学習プログラム、機械学習方法及び情報処理装置 | |
US20150205956A1 (en) | Information processing apparatus, information processing method, and program | |
JP6102575B2 (ja) | 性能測定方法、性能測定プログラム及び性能測定装置 | |
Xiao et al. | New method for counting the number of spanning trees in a two-tree network | |
JPWO2016056236A1 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
EP3211569A1 (en) | Estimation results display system, estimation results display method, and estimation results display program | |
Engle et al. | Visualizing distributed memory computations with hive plots | |
JP2015072505A (ja) | ソフトウェア検証装置 | |
Loglisci et al. | Mining periodic changes in complex dynamic data through relational pattern discovery | |
TWI570581B (zh) | Timing series data processing device | |
Hao et al. | cSketch: a novel framework for capturing cliques from big graph | |
US11886513B2 (en) | Data analysis system, data analysis method, and computer program product | |
WO2015159377A1 (ja) | 設計支援装置 | |
JP6087473B2 (ja) | プログラム抽象図作成装置、及びプログラム抽象図作成プログラム | |
JP2019174947A (ja) | 視覚化装置、方法およびプログラム | |
WO2022180705A1 (ja) | 情報取得装置、情報取得方法及び情報取得プログラム | |
AU2020472129B2 (en) | Secret grouping device, secret grouping system, secret grouping method, and program | |
Schmitt et al. | Visualization of performance data for MPI applications using circular hierarchies | |
Xu et al. | PyPathway: python package for biological network analysis and visualization | |
Poczai | To network or not to network, that is the question | |
JP2014032466A (ja) | 複雑度算出装置、複雑度算出方法および複雑度算出プログラム | |
EP4310718A1 (en) | Unique material detection device, control method, and non-transitory computer-readable medium | |
US11586791B1 (en) | Visualization of data buses in circuit designs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140808 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150603 |
|
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: 20150707 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150803 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5789537 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |