プログラム実行履歴を用いたコードクローン検出手法
スポンサーリンク
概要
- 論文の詳細を見る
コードクローンとは,ソースコード中に存在する互いに一致または類似したコード片のことである.コードクローンを検出する手法が,既存研究で数多く提案されている.しかし,既存手法では,プログラムのソースコードやバイナリファイルといった静的な情報のみを使用してコードクローンを検出している.そのため,ソースコードをコピーした後に難読化等の変更が施されると,剽窃が隠蔽されてしまうことがある.そこで,本研究では,プログラムの動的な情報である実行履歴を複数のフェイズに分割し,各フェイズのメソッド呼び出し列を比較することで,コードクローンを検出する手法の提案を行う.提案手法を実際のアプリケーションに適用した結果,難読化前後で同一のコンポーネントを識別できることと,再利用されている箇所を特定できることを確認できた.
- 2012-10-25
著者
-
吉田 則裕
大阪大学大学院情報科学研究科
-
井上 克郎
大阪大学大学院情報科学研究科
-
井上 克郎
大阪大学基礎工学部情報工学科
-
井上 克郎
大阪大学
-
井上 克郎
大阪大学基礎工学部
-
吉田 則裕
奈良先端科学技術大学院大学
-
井岡 正和
大阪大学大学院情報科学研究科
関連論文
- メソッド抽出の必要性を評価するソフトウェアメトリックスの提案(研究速報)
- ソフトウェアメトリクスとメソッド内の構造を用いたリファクタリング支援手法の提案
- コードクローン検出とその関連技術(ソフトウェア工学)
- UMLモデルを対象としたリファクタリング候補検出の試み
- プログラム理解のための付加注釈DocumentTagの提案(レビュー,品質(学生セッション))
- グラフマイニングアルゴリズムを用いたギャップを含むコードクローン情報の生成 (画像符号化・映像メディア処理レター特集)
- 大阪大学情報科学研究科におけるソフトウェアデザイン工学高度人材育成への取り組み
- ソフトウェア部品の利用関係におけるスケールフリー性の調査
- グラフマイニングアルゴリズムを用いたギャップを含むコードクローン情報の生成(ソフトウェア工学)
- 束構造をもつセキュリティクラスに基づく再帰的プログラムに対する情報フロー解析法
- 開発履歴中のソースコードを対象とした更新の重要度を評価する手法の提案(ソフトウェア工学)
- コンポーネントランク法によるソフトウェアクラスタリング結果の理解性向上(テスト技法・保守技術)
- ソフトウェア部品分類手法へのコンポーネントランク法の応用(学生セッション C_開発プロセス)
- メソッド呼び出しパターンとして現れる横断的関心事の検出
- Strutsフレームワークにおけるメタモデルを用いた追跡可能性実現手法の提案(アスペクト指向・Web)
- アスペクトマイニングを自動的に行うツールの提案
- アスペクト指向プログラムのデバッグ支援環境 : プログラムスライスとコールグラフの利用(オブジェクト指向とWeb技術)
- アスペクト指向プログラムに対するプログラムスライシング
- D-3-4 アスペクト指向プログラミングの動的プログラムスライスへの応用
- Javaソフトウェアの部品グラフにおけるべき乗則の調査(ソフトウェア基礎,プログラム理論)
- 構文木の差分を用いた版管理システム向きマージ機能(システム評価・管理技術)
- プログラム依存グラフの効率的な更新手法
- ソースコード解析ツール開発支援システムの試用
- ソースコード解析システムを用いたプログラム依存グラフ表示ツールの試作
- プログラムスライスの抽出・実行機能を組み込んだデバッグ支援システムの試作
- メタモデルに基づくトレーサビリティ技術の提案
- リビジョン情報と電子メールを用いたオープンソース開発向き情報検索システム
- 分析業務に関する知識を用いた財務分析支援方式(社会・人間系の情報システム)
- D-CCFinder:超大規模ソースコード集合を対象とした分散処理型コードクローン検出・可視化システム
- D-3-9 UMLで記述された設計仕様書からのファンクションポイント計測手法
- 大規模ソースコードを対象としたコードクローンの検出と可視化(ソフトウェアテスト技法・保守技術)
- 問題の早期発見・改善を支援するインプロセスプロジェクト管理手法の実プロジェクトへの適用(ソフトウェア工学)
- 問題の早期発見・改善を支援するインプロセスプロジェクト管理手法の実プロジェクトへの適用
- コードクローンの長さに基づくプログラム盗用確率の実験的算出
- 5.産官学連携によるエンピリカルソフトウェア工学の実践 : データに基づく実証的アプローチ(第1部:高い生産性を持つ高信頼ソフトウェア作成技術の開発,学と産の連携による基盤ソフトウェアの先進的開発)
- 協調動作するオブジェクト群の変化に基づく実行履歴の自動分割
- シーケンシャルパターンマイニングを用いたコーディングパターン抽出
- 実践的ソフトウェア開発演習支援のためのグループ間比較にもとづくプロセスモニタリング環境(教育実践研究論文,学習・教育支援のための技術開発)
- メソッドに用いられる動詞-目的語関係を収録した辞書構築手法の提案
- コード片に共通した特性を自動抽出するソースコード閲覧ツールの試作
- 実証的ソフトウェア工学環境への取り組み
- Empirical Project Monitor : プロセス改善支援を目的とした定量的開発データ自動収集・分析システムの試作
- 一般的なGUIに適した視線・マウス併用型ターゲット選択方式次世代インタラクションのための情報技術
- 機能実行履歴を用いたソフトウェア利用知識の共有(:知識と情報の共有)
- メソッドに用いられる動詞-目的語関係を収録した辞書構築手法の提案
- 要求工学国際会議(RE'04)の開催を振り返って(要求工学・ドメイン分析)
- プログラム依存グラフの一貫性検査に基づく欠陥候補の検出手法
- ソフトウェアライセンスがコピーアンドペーストによる再利用に与える影響の調査
- コメント文によるプログラム中に出現する名詞の説明文生成
- 影響波及解析を利用した保守作業の労力見積りに用いるメトリックスの提案(ソフトウェア工学)
- 保守請負時を対象とした労力見積りのためのメトリクスの提案
- 保守の影響波及範囲に基づいたレガシーシステムの障害予測
- 第31回ソフトウェア工学国際会議(ICSE2009)参加報告
- プログラム実行履歴を用いたトランザクションファンクション抽出手法
- 動作オブジェクト群の変化に着目したオブジェクト指向プログラムの実行履歴分割手法
- D-3-5 協調動作するオブジェクト群に着目したJavaプログラムの実行履歴分割手法の提案(D-3. ソフトウェアサイエンス, 情報・システム1)
- ユースケースポイント計測におけるアクタとユースケースの自動分類の試みと支援ツールの試作(ソフトウェア工学)
- リファクタリングのための変更波及解析を利用したテスト支援ツールの提案
- 類似メソッドの集約のための差分抽出支援(フレッシャーズセッション)
- 類似メソッドの集約のための差分抽出支援(フレッシャーズセッション,一般,フレッシャーズセッション)
- ソースコードに対して適用可能な編集手順を探索するリファクタリング支援手法の提案
- UMLモデルを対象としたリファクタリング候補検出の試み
- コードクローン検索による類似不具合検出の実証的評価(ソフトウェア工学)
- シーケンシャルパターンマイニングに基づくオブジェクト指向プログラムのための欠陥検出手法
- シーケンシャルパターンマイニングに基づくオブジェクト指向プログラムのための欠陥検出手法
- シーケンシャルパターンマイニングに基づくオブジェクト指向プログラムのための欠陥検出手法
- コードの生存期間を考慮したコードクローンと欠陥修正の関係調査
- 同時変更が生じた Template Method パターンの適用事例の調査
- 識別子の共起関係に基づく類似コード検索法の提案と欠陥検出への適用
- ソースコードコーパスを利用したシームレスな再利用支援 (ソフトウェアサイエンス)
- 凝集度によるコード片の機能別分類手法 (ソフトウェアサイエンス)
- APIの使用に伴うコードクローンの特徴分析(ソースコード分析と可視化)
- APIの使用に伴うコードクローンの特徴分析(ソースコード分析と可視化)
- 類義語の特定に基づく類似コード片検索法
- Fault-Proneモジュール予測へのコードクローン情報の適用(研究速報)
- コードクローンの特徴に基づくメソッド引き上げリファクタリングパターンの提案
- 類似メソッドの集約のための差分抽出支援
- コードクローン検出技術の展開 (特集 ソフトウェア工学)
- D-13-3 ソフトウェア開発の要件変更・追加がコストに及ぼす影響の分析支援(D-13.知能ソフトウェア工学,一般セッション)
- ソースコードコーパスを利用したシームレスな再利用支援
- 1ZK-4 コードクローン検出に基づくデザインパターン適用支援(リーディングプロジェクト e-society:コードクローン検出によるソフトウェア開発技術,一般セッション,リーディングプロジェクト e-society)
- コードクローン間の依存関係に基づくリファクタリング支援(ソフトウェアテスト技法・保守技術,インタラクション技術の原理と応用)
- 産学連携に基づいたコードクローン可視化手法の改良と実装(情報システム開発,産学連携論文)
- 凝集度によるコード片の機能別分類手法
- ソースコードコーパスを利用したシームレスなソースコード再利用手法
- コードクローンを対象としたリファクタリング
- 凝集度メトリクスCOBを用いたTemplate Methodパターン適用候補の順位付け手法
- 凝集度メトリクスCOBを用いたTemplate Methodパターン適用候補の順位付け手法
- 第34回ソフトウェア工学国際会議ICSE2012参加報告
- コードクローン検出技術の展開
- トピック抽出に基づく開発者の活動に着目したリポジトリ可視化手法
- プログラム実行履歴を用いたコードクローン検出手法
- 差分を含む類似メソッドの集約支援ツール
- コードクローン変更管理システムの開発と実プロジェクトへの適用
- プログラミング演習における初学者を対象としたコーディング傾向の分析
- 近傍ハッシュ法を用いた2段階のクラスタリングに基づくNear-missクローンの検出
- スライスに基づく凝集度を用いて自動分割を行うプログラム理解支援手法(学生及び若手(パラレルセッション:実装))
- スライスに基づく凝集度を用いて自動分割を行うプログラム理解支援手法(学生及び若手(パラレルセッション:実装))
- トピック抽出に基づく開発者の活動に着目したリポジトリ可視化手法(行動・データ解析,ソフトウェアサイエンス、理論)
- プログラム実行履歴を用いたコードクローン検出手法(行動・データ解析,ソフトウェアサイエンス、理論)