類似コード片を利用したリファクタリングの試み
スポンサーリンク
概要
- 論文の詳細を見る
近年,ソフトウェアの大規模化・複雑化に伴い,保守作業に要するコストは増大している.ソフトウェアの保守を困難にしている要因の一つとしてコードクローンがあげられる.コードクローンとはソースコード中に存在する同一,または類似したコード片のことである.例えば.あるコード片にバグが含まれていた場合,そのコード片のコードクローン全てについて修正の是非を考慮する必要がある.コードクローンに対する問題に対処するために,我々はコードクローン分析環境Geminiを開発してきた.これまでにGeminiをさまざまなプロジェクトに適用する中で,いくつかの問題点が指摘された.その一つは,リファクタリングをクローン検出の目的とした時に,Geminiによってユーザに示されるクローンがリファクタリングに適していないということであった.本論文ではこの問題を解決するための手法を提案し,その手法をGeminiの機能拡張として実装した.また,オープンソースのソフトウェアに対して適用実験を行ない,本手法の有用性を確認した.
- 一般社団法人情報処理学会の論文
- 2003-07-17
著者
-
肥後 芳樹
大阪大学大学院情報科学研究科
-
楠本 真二
大阪大学大学院情報科学研究科
-
井上 克郎
大阪大学大学院基礎工学研究科情報数理系
-
神谷 年洋
科学技術振興事業団さきがけ研究21
-
神谷 年洋
公立はこだて未来大学システム情報科学部
-
井上 克郎
大阪大学大学院 情報科学研究科
関連論文
- メソッド抽出の必要性を評価するソフトウェアメトリックスの提案(研究速報)
- ソフトウェアメトリクスとメソッド内の構造を用いたリファクタリング支援手法の提案
- コードクローン検出とその関連技術(ソフトウェア工学)
- グラフマイニングアルゴリズムを用いたギャップを含むコードクローン情報の生成 (画像符号化・映像メディア処理レター特集)
- クラス階層構造を利用したコードクローン集約支援手法の改良(研究速報)
- グラフマイニングアルゴリズムを用いたギャップを含むコードクローン情報の生成(ソフトウェア工学)
- 類似性に基づく工数予測における適切でない予測プロジェクトの判別の試み
- Strutsフレームワークにおけるメタモデルを用いた追跡可能性実現手法の提案(アスペクト指向・Web)
- D-CCFinder:超大規模ソースコード集合を対象とした分散処理型コードクローン検出・可視化システム
- 大規模ソースコードを対象としたコードクローンの検出と可視化(ソフトウェアテスト技法・保守技術)
- プログラム依存グラフを用いたコードクローン検出法の改善と評価
- D-13-5 新規開発者のソフトウェア理解を目的としたプログラム依存グラフ可視化手法の提案(D-13.知能ソフトウェア工学,一般セッション)
- ウインターワークショップ2010・イン・倉敷開催報告
- ウインターワークショップ2010・イン・倉敷開催報告
- 第30回ソフトウェア工学国際会議(ICSE2008)参加報告(報告)
- ウインターワークショップ2010・イン・倉敷開催報告
- 大規模ソースコード集合を対象とした類似関数集合群の抽出
- アイテムセットマイニングを利用したコードクローン分析作業の効率向上
- 多言語対応メトリックス計測プラグイン開発基盤MASUの開発(ソフトウェア工学)
- コードクローン検索による類似不具合検出の実証的評価(ソフトウェア工学)
- 1ZK-3 コードクローンのメトリクス値と開発者の相関の調査(リーディングプロジェクト e-society:コードクローン検出によるソフトウェア開発技術,一般セッション,リーディングプロジェクト e-society)
- コードクローン検出技術を用いたLinuxカーネル進化の調査(研究速報)
- 識別子の共起関係に基づく類似コード検索法の提案と欠陥検出への適用
- コードクローン検出ツールの差分情報を用いた不具合検出手法の提案と評価
- 1ZK-5 複数のコードクローン検出ツールによって検出されるコードクローンの差異を用いた不具合検出手法(リーディングプロジェクト e-society:コードクローン検出によるソフトウェア開発技術,一般セッション,リーディングプロジェクト e-society)
- D-13-6 重複コードと非重複コードに加えられる修正の頻度の比較 : 複数の検出ツールを用いた評価(D-13.知能ソフトウェア工学,一般セッション)
- 重複コードと非重複コードにおける修正頻度の比較
- RB-005 変数使用に着目したFault-Proneメソッド特定手法の提案と評価(ソフトウェア,査読付き論文)
- RB-004 メトリクス値の変遷を用いたFault-Proneモジュール特定手法の改良(ソフトウェア,査読付き論文)
- 第27回ソフトウェア工学国際会議(ICSE2005)参加報告(会議報告)
- 画面遷移とデータベース処理を考慮したトランザクションファンクション識別手法の詳細化と実装
- コードクローンを対象としたリファクタリングの有効性に関する調査
- D-3-9 履歴データからの有用プロダクトデータの抽出(D-3. ソフトウェアサイエンス,一般セッション)
- ソフトウェアメトリックス値の変遷に基づいた注力すべきモジュールを特定する手法の提案(ソフトウェア工学)
- プログラム依存グラフを用いたTemplate Methodパターン適用によるコードクローン集約支援
- プログラム変更支援を目的としたコードクローン情報付加ツールの実装と評価
- 修正頻度の比較に基づくソフトウェア修正作業量に対する重複コードの影響に関する調査
- プログラム依存グラフを用いたリファクタリング候補の特定と可視化
- 改版履歴情報を用いたクラス図の変更量の計測の試み
- CKメトリクスに基づくリファクタリングの効果予測手法の提案と実装
- AGMアルゴリズムを用いたギャップを含むコードクローン情報の生成
- コードクローン解析に基づくリファクタリングの試み(開発支援環境・自動化技術)
- ソースコードコーパスを利用したシームレスな再利用支援
- メトリクス値の変遷に基づくソフトウェアの特性分析手法の提案と実装
- コードクローン間の依存関係に基づくリファクタリング支援(ソフトウェアテスト技法・保守技術,インタラクション技術の原理と応用)
- 産学連携に基づいたコードクローン可視化手法の改良と実装(情報システム開発,産学連携論文)
- 複数のメソッドにまたがって存在するコードクローンの検出に向けて
- コードクローンを対象としたリファクタリング支援環境(ソフトウェア開発環境・開発支援システム, システム開発論文)
- コードクローン情報を用いたリファクタリング支援ツール
- 類似コード片を利用したリファクタリングの試み
- ソースコードコーパスを利用したシームレスなソースコード再利用手法
- プログラム依存グラフを用いた増分的なコードクローン検出
- コードクローンを対象としたリファクタリング
- ソフトウェア保守におけるコードクローンの影響に関する調査方法の比較
- ソフトウェア保守におけるコードクローンの影響に関する調査方法の比較
- コードクローン検出技術の展開
- プログラム依存グラフを用いたコードクローンに対するテンプレートメソッドパターン適用支援手法
- コードクローン分析ツールGeminiを用いたコードクローン分析手法
- 不適切なreturn nullに対するリファクタリング
- オープンソースソフトウェアにおけるコードクローンの消失に関する調査
- プログラム依存グラフを用いたコードクローンに対するテンプレートメソッドパターン適用支援手法(ソフトウェア工学)
- GQMパラダイムを用いたソフトウェアメトリクスの活用
- オープンソースソフトウェアにおけるコードクローンの消失に関する調査 (ソフトウェアサイエンス)
- 機械学習を用いた類似度に基づく有用なコードクローンの自動特定手法
- ソースコード中の繰返し部分に着目したコードクローン検出ツールの実装と評価
- 大規模なソフトウェア群を対象とするメソッド単位でのコードクローン検出
- 大規模ソフトウェア群に対するメソッド単位のコードクローン検出
- プログラム依存グラフを用いたコードクローンに対するテンプレートメソッドパターン適用支援手法
- ソースコード中の繰り返し部分に着目したコードクローン検出手法の提案
- Template Methodパターン適用支援手法の類似メソッド群への拡張(研究速報)
- コードクローン研究のあゆみ(平成19年度論文賞の受賞論文紹介)
- 再利用実績に基づいたコード片検索手法の提案
- ソースコード中の変数間のデータ依存関係を用いたコミットの分割
- 動的解析を用いたコード移動リファクタリングの支援(一般)
- 動的解析を用いたコード移動リファクタリングの支援(一般)
- プログラム構造の簡略化によるメトリクス計測方法の改善(一般)
- プログラム構造の簡略化によるメトリクス計測方法の改善(一般)
- オープンソースソフトウェアにおけるコードクローンの消失に関する調査(コードクローン,ソフトウェアサイエンス、理論)
- タスクボードとオンラインストレージを用いたソフトウェア開発PBLのためのタスク記録支援環境の構築
- 繰返しコードの進化に関する調査
- プログラム文の並べ替えに基づくソースコードの可読性向上の試み
- CRDを用いたコードクローンの生存期間と修正回数に関する調査
- Smith-Watermanアルゴリズムを利用したギャップを含むコードクローン検出
- メソッド呼び出し履歴のフェイズ分割を用いたMove Methodリファクタリング(研究速報)
- 主要処理に着目したメソッド単位のコードクローン検出(ソフトウェア工学,ソフトウェア基礎・応用論文)
- メトリクス計測の前処理となるソースコード簡略化手法の提案と評価(ソフトウェアシステム,ソフトウェア基礎・応用論文)
- 粗粒度なコードクローン検出手法の精度評価
- 修正の分類に基づいたコミット分割手法の提案(開発履歴と支援)
- ソースコード中に含まれる繰り返しコードの進化に関する調査(コードクローンと解析)
- CRDの類似度に基づくコードクローン追跡手法
- 修正実績に基づく重複コード除去支援の試み
- ソフトウェア開発におけるコピーアンドペーストによって生じたコード片に対する調査
- 機械学習を用いたコードクローンの危険予測手法
- CRDの類似度に基づくコードクローン追跡手法
- 修正実績に基づく重複コード除去支援の試み
- ソースコード中の変数間のデータ依存関係を用いたコミットの分割
- 再利用実績に基づいたコード片検索手法の提案
- プログラム構造の簡略化によるメトリクス計測方法の改善
- ソースコードの自動進化に向けて
- オープンソースソフトウェアにおけるコードクローンの消失に関する調査