コードクローンに対する変更の一貫性と欠陥発生との関連性に関する分析
スポンサーリンク
概要
- 論文の詳細を見る
ソースコード中に存在する重複コード列をコードクローン(以下,クローン)という.本稿では,互いにクローンの関係にあるコード片全てに一貫していない変更を行うことと,その後生じる欠陥との関連性を明らかにすることを目的として,クローンが開発の過程でどのように作成され改変されてきたのかを示すクローンの履歴情報を用いてそれら関連性を分析した.分析では,ソフトウェアのあるバージョンにおいて,互いにクローンの関係にあるコード片全てに一貫していない変更を行った場合に生じると考えられる,「クローンの分岐」と「バグの発生」との関連性についての仮説を設けた上で,仮説の実証を試みた.分析の結果,分岐を含まない場合と比べて,分岐を含む場合の方がバグが発生する傾向にあり,その数も多いことが分かった.この結果から,クローンの分岐は,その後のバグの発生に影響しており,そのようなクローンに対しては特に注意を払うことが有効であることを確認した.
- 2010-03-01
著者
-
川口 真司
奈良先端科学技術大学院大学
-
飯田 元
奈良先端科学技術大学院大学
-
伏田 享平
奈良先端科学技術大学院大学情報科学研究科
-
飯田 元
奈良先端科学技術大学院大学情報科学研究科
-
西田 皓司
奈良先端科学技術大学院大学情報科学研究科
-
川口 真司
奈良先端科学技術大学院大学情報科学研究科
-
西田 皓司
奈良先端科学技術大学院大学 情報科学研究科
-
伏田 享平
奈良先端科学技術大学院大学:(現)株式会社NTTデータ技術開発本部
関連論文
- クローンメトリックスを用いたfault-proneモジュール判別の追実験(研究速報)
- ソフトウェアエンジニアリングシンポジウム2008開催報告(調査・報告・教育)
- ソースコード解析ツール開発支援システムの試用
- プログラムの依存関係解析に基づくデバッグ支援ツールの試作
- ソースコード解析システムを用いたプログラム依存グラフ表示ツールの試作
- プログラムの依存関係解析に基づくデバッグ支援システムの試作
- バグ管理システムのログを利用した保守プロセス評価メトリクス
- バグ管理システムを対象としたアジャイルソフトウェア開発における保守プロセスの観察
- 「非障害案件」の発見を目的としたバグ票の観察(開発プロセス)
- PRePモデルに基づくソフトウェアプロセス運用支援ツールの試作(開発支援(2)(学生セッション))
- クローンメトリックスを用いた fault-prone モジュール判別の追実験
- コードクローンの長さとソフトウェア信頼性の関係の分析
- メールスレッドのクラスター分析によるOSSプロジェクトのアクティビティ予測手法
- 実践的ソフトウェア開発演習支援のためのグループ間比較にもとづくプロセスモニタリング環境(教育実践研究論文,学習・教育支援のための技術開発)
- ソフトウェアエンジニアリングシンポジウム2010開催報告
- ウインターワークショップ2010・イン・倉敷開催報告
- Javaクラスファイルに対する電子透かし法(:電子化知的財産・社会基盤)
- 3. 広げるテクニック 3-1 文書検索と電子図書館 : より多くの人に読んでもらうために (マルチメディア時代における技術情報 : 情報発信のテクニック : 基本と変革)
- ウインターワークショップ2010・イン・倉敷開催報告
- 開発プロセスの観察とグループ間比較による実践的ソフトウェア開発演習の支援環境
- 第13回アジア太平洋ソフトウェア工学国際会議(APSEC2006)参加報告(一般セッション J_動向)
- 定量的管理指標の利用実態調査-あるソフトウェア開発組織を対象として
- 特集「ソフトウェア工学の変化と深化」の編集にあたって
- コードクローンに対する変更の一貫性と欠陥発生との関連性に関する分析
- ウインターワークショップ2010・イン・倉敷開催報告
- 時空間情報と動作を組み合わせた認証方法
- コードクローンに着目したソフトウェア保守支援ツールの設計と実装
- コードクローンに着目したソフトウェア保守支援ツールの設計と実装
- 1ZK-1 レガシーソフトウェア保守プロセスにおける開発者によるコードクローン認識についての観察(リーディングプロジェクト e-society:コードクローン検出によるソフトウェア開発技術,一般セッション,リーディングプロジェクト e-society)
- PRePモデルに基づくソフトウェアプロセス運用支援ツールの試作
- 気の利いた処理を行う秘書エージェントシステム
- ソフトウェアタグを用いた設計文書メトリクスからの低品質モジュールの予測
- 複数手法の併用によるデザインパターン検出結果の改善
- 事故前提社会に向けたユーザ・ベンダ間での開発データ共有 第2回 : −ソフトウェアタグ規格とソフトウェアタグ支援ツール−
- ユーザ視点に立ったソフトウェア開発データ活用技術の提案(解析・検証(一般セッション))
- 1ZK-2 ソフトウェア開発プロセスにおける定量的管理計画の立案・共有支援システム(リーディングプロジェクト e-society:コードクローン検出によるソフトウェア開発技術,一般セッション,リーディングプロジェクト e-society)
- コードクローン履歴閲覧環境を用いたクローン評価の試み
- エンピリカルデータを対象としたマイクロプロセス分析
- ソフトウェア開発における定量的管理計画の立案支援
- 第14回アジア太平洋ソフトウェア工学国際会議(APSEC 2007)開催および参加報告(動向・報告(一般セッション))
- 作業の並行化による影響を考慮した開発プロセスシミュレータの実験的評価
- 第27回ソフトウェア工学国際会議(ICSE2005)参加報告(会議報告)
- Eメールアーカイブのクラスタリングによる開発コンテキストの可視化
- ソフトウェアタグの運用を支援する開発履歴可視化ツール
- 第16回アジア太平洋ソフトウェア工学国際会議(APSEC 2009)参加報告
- APSEC'96に参加して
- マイルストーンを組み込んだオブジェクト指向開発プロセス生成方法の提案
- AQUAMarine:定量的管理計画立案システム
- 非オブジェクト指向のオンラインシステムに対するコンポーネントウェア組込手法の検討
- ソフトウェア開発プロセス管理データの収集と活用の支援を目的とした電子ガイドの提案
- ソフトウェアコンポーネント利用情報の収集と共有
- 位置と速度を利用した移動体向け認証方式の提案(FMC,モバイルネットワーク,情報家電ネットワーク及び一般)
- 役割別工数投入計画のための見積りモデルの提案
- マルチメディアツールを利用したプロセス環境の実現方法
- D-13-3 ソフトウェア開発の要件変更・追加がコストに及ぼす影響の分析支援(D-13.知能ソフトウェア工学,一般セッション)
- コードクローンに対する変更の一貫性と欠陥発生との関連性に関する分析
- WWWを利用したプロセスレポーティングツールの開発
- 凝集度によるコード片の機能別分類手法
- オブジェクトモデルを用いたソフトウェアプロセス記述用言語MonoProcess
- オブジェクトに着目したソフトウェア開発管理システムの提案
- 版管理システムを用いたクローン履歴分析手法の提案(ソフトウェア工学)
- コンポーネント指向のプロセスモデルに基づくソフトウェアプロセス測定・分析支援手法の提案
- 成果物間の関連に着目した開発プロセスモデル : PReP(社会人学生論文)
- ソフトウェアプロセスのグラフモデル表現に基づくプロジェクト事例共有システムの開発
- プロセス資産の再利用を支援するプロセスモデルの提案とそれに基づくプロセス中心型開発環境の試作
- スライスに基づく凝集度を用いて自動分割を行うプログラム理解支援手法 (知能ソフトウェア工学)
- スライスに基づく凝集度を用いて自動分割を行うプログラム理解支援手法 (ソフトウェアサイエンス)
- 時空間情報と動作に基づく認証方法
- トピック抽出に基づく開発者の活動に着目したリポジトリ可視化手法
- ウィンターワークショップ2012・イン・琵琶湖開催報告
- ソフトウェアプロセスのモデリングとそれに基づく管理手法
- 作業の並行化による影響を考慮した開発プロセスシミュレーションモデルの提案
- プログラミング演習における初学者を対象としたコーディング傾向の分析
- 近傍ハッシュ法を用いた2段階のクラスタリングに基づくNear-missクローンの検出
- 品質評価規格文書の構造化とそれに基づくプロセス評価支援システムの試作
- 版管理システムを用いた開発プロセスに適したコードクローン修正支援ツールの検討
- スライスに基づく凝集度を用いて自動分割を行うプログラム理解支援手法(学生及び若手(パラレルセッション:実装))
- スライスに基づく凝集度を用いて自動分割を行うプログラム理解支援手法(学生及び若手(パラレルセッション:実装))
- ウィンターワークショップ2012・イン・琵琶湖開催報告(報告,ソフトウェアサイエンス、理論)
- トピック抽出に基づく開発者の活動に着目したリポジトリ可視化手法(行動・データ解析,ソフトウェアサイエンス、理論)
- ソフトウェア品質の第三者評価を目的としたメトリクス基準値導出法の提案(品質と測定)
- プログラミング演習における初学者を対象としたコーディング傾向の分析