2 分で読了
0 views

ソースコードメトリクスによる変更予測の比較研究

(A Comparative Study of Different Source Code Metrics and Machine Learning Algorithms for Predicting Change Proneness of Object Oriented Systems)

さらに深い洞察を得る

AI戦略の専門知識を身につけ、競争優位性を構築しませんか?

AIBR プレミアム
年間たったの9,800円で
“AIに詳しい人”として
一目置かれる存在に!

プレミア会員になって、山ほどあるAI論文の中から効率よく大事な情報を手に入れ、まわりと圧倒的な差をつけませんか?

詳細を見る
【実践型】
生成AI活用キャンプ
【文部科学省認可】
満足度100%の生成AI講座
3ヶ月後には、
あなたも生成AIマスター!

「学ぶ」だけではなく「使える」ように。
経営者からも圧倒的な人気を誇るBBT大学の講座では、3ヶ月間質問し放題!誰1人置いていかずに寄り添います。

詳細を見る

田中専務

拓海先生、お時間よろしいですか。部下が『ソースコードの変更されやすい箇所を予測する研究』が役に立つと言うのですが、正直ピンと来ません。どんな話なんでしょうか。

AIメンター拓海

素晴らしい着眼点ですね!大丈夫、簡単にお話しますよ。要するにソフトウェアの中で将来変更されやすい箇所を前もって見つけられれば、テストや保守を重点化してコストを下げられるんです。要点は三つにまとめられますよ。

田中専務

三つですか。具体的にはどんな三つですか。投資対効果を最初に聞きたいです。

AIメンター拓海

いい質問です。まず一つ目は、限定した指標で十分な精度が出せる点、二つ目は機械学習の手法を比較して最良の組み合わせを見つけた点、三つ目は特徴選択(feature selection)で不要な指標を削って精度と誤判定を改善できる点です。結果として試験リソースを絞れてROIが改善できますよ。

田中専務

なるほど、でも実務で使うには現場の負担が心配です。指標を取るのは大変ではないですか。

AIメンター拓海

その懸念は的を射ていますよ。現実的に運用するには、まず自動で収集できるメトリクスを選び、CIやビルドパイプラインに組み込む必要があります。要点を三つに分けると、収集可能性、計算コスト、そしてモデルの運用性です。これらを順に評価していけば導入負担を抑えられますよ。

田中専務

この研究では何を比べているんですか?アルゴリズムの種類ですか、それとも指標の種類ですか。

AIメンター拓海

両方を比較しているんです。具体的には二十一のソースコードメトリクス(source code metrics)を特徴量として、十八種類の分類器と三つのアンサンブル手法を試して、さらに十一の特徴選択(feature selection)手法を使って最適な指標集合を探しています。つまり指標とアルゴリズムの組み合わせを幅広く検証しているのです。

田中専務

これって要するに、限られた指標と適切な機械学習で変更されやすいクラスを当てられるということ?

AIメンター拓海

その理解で正しいですよ。要点は三つです。第一に、全ての指標を使うよりも、適切に選んだ少数の指標で高い精度が出ること。第二に、機械学習アルゴリズムによって成否が分かれること。第三に、特徴選択が誤分類を減らし実務での有用性を高めることです。ですから導入は合理的に進められますよ。

田中専務

アルゴリズム名で覚えておくべきものはありますか。我々が外注に頼むときの目安にしたい。

AIメンター拓海

いくつかありますが、実務で押さえるべきはLSSVM-RBF(Least Squares Support Vector Machine with Radial Basis Function)です。この研究では最良の結果を示しました。要点を三つで言うと、汎化性能、計算の安定性、実装の容易さです。外注に依頼する際はこの点を相談材料にしてくださいね。

田中専務

現場でこれをやる時の優先順位を教えてください。まず何をすればいいですか。

AIメンター拓海

優先順位は三段階で考えます。第1に自動収集できるメトリクスを決めてデータを少量集めること。第2に複数の基本的な分類器で試して結果を比較すること。第3に特徴選択を行い、最小限の指標で性能を担保することです。これで段階的に導入できますよ。

田中専務

よく分かりました。要するに、自動で取れる指標だけを使って、まずは小さく試して、うまくいけば本格導入する、という流れですね。ありがとうございました。これなら現場も納得しそうです。

AIメンター拓海

素晴らしいまとめですね!その通りですよ。大丈夫、一緒にやれば必ずできますよ。

1.概要と位置づけ

結論からまず述べる。本研究は、ソースコードの指標(source code metrics)を使ってオブジェクト指向ソフトウェアの「変更されやすさ(change-proneness)」を予測する際に、全指標を使うよりも、適切な特徴選択を行った限られた指標集合と最適な機械学習手法を組み合わせることで、予測精度を高めつつ誤分類を減らせることを示した点で大きく貢献している。要するに、保守やテストの重点化を合理的に行うための指標選定とアルゴリズム選択のガイドラインを実務に近い形で提示した研究である。本研究は二十一のソースコードメトリクスを候補とし、十一の特徴選択法を含めて比較した点で既存の多くの研究よりも幅広い検証を行っている。経営判断の観点では、予測モデルの導入によってテスト・保守リソースを効率化できる可能性があるという点が最大の示唆である。

2.先行研究との差別化ポイント

従来研究は多くが部分的な指標群や限られた分類器で検証しており、指標選択とアルゴリズムの組合せを網羅的に比較する例は少なかった。本研究は十八の分類アルゴリズムと三つのアンサンブル手法を評価対象に含め、複数の特徴選択法を適用して最適集合を探索しているため、指標と手法の相互作用を包括的に把握できる。これにより、特定プロジェクトで全指標を集めるコストをかけずに、実務的に効果的な最小集合を決められる点が差別化要因である。さらに、特定の分類器としてLSSVM-RBFが本研究のデータセット上で最も良好な結果を出したという点は、実装候補として現場での優先順位付けに直結する。

検索に使える英語キーワード
change-proneness, source code metrics, feature selection, LSSVM-RBF, software maintenance, empirical software engineering, code metrics, defect prediction
会議で使えるフレーズ集
  • 「このモデルで重点的にテストを割り当てたい」
  • 「少数の指標で十分な精度が出るか実データで検証しましょう」
  • 「特徴選択で誤判定を減らし運用コストを下げる案を提示します」

3.中核となる技術的要素

本研究が用いる主要概念を分かりやすく整理する。第一はソースコードメトリクス(source code metrics、以降「メトリクス」)であり、クラスの行数や結合度などソフトウェア構造を数値化した指標を指す。これは経営でいう業務KPIに近い。第二は特徴選択(feature selection、以下「特徴選択」)で、不要なメトリクスを取り除きモデルを簡潔にする手法である。ちょうど報告書からノイズになる指標を落とす作業に相当する。第三は機械学習の分類器で、本研究ではLSSVM-RBF(Least Squares Support Vector Machine with Radial Basis Function)や他の既知手法を比較している。これらは入力となるメトリクス群から『変更されやすいかどうか』を二値分類するために使われる。技術的には、特徴選択で次元を落とすことで過学習を抑え、汎化性能を高めるという基本戦略が採用されている。

4.有効性の検証方法と成果

検証は二十一の候補メトリクスを出発点に、十一の特徴選択法を通じて多数の指標集合を生成し、十八の分類器と三つのアンサンブル法で性能を比較する形で行われた。評価指標は主に正解率と誤分類率、そして実務的には誤検知によるコスト増を問題視している。実験結果は、全指標を使った場合よりも、適切に選ばれた小さな指標集合で高い精度と低い誤分類率が得られることを示した。特にLSSVM-RBFを用いたモデルがデータセット上で最も優れた結果を示し、特徴選択を併用するとさらに誤分類が減る傾向が確認された。したがって、導入によりテスト対象の優先順位付けや保守リソース配分の改善が期待できる。

5.研究を巡る議論と課題

第一に一般化可能性の問題がある。研究で用いたデータセット固有の性質に依存する可能性があり、別の開発文化や言語、規模のプロジェクトで同様の性能が出るかは確認が必要である。第二にデータ収集コストである。二十一のメトリクスのうち自動化できないものがあると運用負担が増え、ROIが悪化する。第三に説明可能性(explainability)の課題で、経営判断で使うためにはなぜそのクラスが変更されやすいのかを説明できる必要がある。これらの点は導入前のパイロットと追加検証で対処するべき論点である。

6.今後の調査・学習の方向性

今後はまず外部データでの再現性検証と、CI/CDパイプラインへの組み込みによる自動収集運用の実証が必要である。次に、特徴選択とモデル学習を定期的に回す仕組みを用意し、ソフトウェアの進化に合わせてモデルを更新する運用ルールを設計することが重要だ。さらに、説明可能な機械学習(explainable machine learning)を導入し、現場や経営が納得できる形で根拠を提示する工夫が求められる。最後に、導入前にコストと期待効果を定量的に比較することで、経営判断を支援する指標を整備していくべきである。


引用元: L. Kumar, A. Sureka, “A Comparative Study of Different Source Code Metrics and Machine Learning Algorithms for Predicting Change Proneness of Object Oriented Systems,” arXiv preprint arXiv:1712.07944v1, 2017.

監修者

阪上雅昭(SAKAGAMI Masa-aki)
京都大学 人間・環境学研究科 名誉教授

論文研究シリーズ
前の記事
線路分岐器のワンショット検出におけるSiameseニューラルネットワーク
(Siamese Neural Networks for One-shot detection of Railway Track Switches)
次の記事
ラドン生成Po-210表面汚染除去のレビューと展望
(A Review and Outlook for the Removal of Radon-Generated Po-210 Surface Contamination)
関連記事
エニグマティックな星団M82Fの詳細研究
(A detailed study of the enigmatic cluster M82F)
分類問題に対する積ルール
(On the Product Rule for Classification Problems)
隠れマルコフ確率場による神経画像の多重検定
(Multiple Testing for Neuroimaging via Hidden Markov Random Field)
確率的最適化のためのユニットテスト
(Unit Tests for Stochastic Optimization)
訓練データが説明に与える影響の解析
(Analyzing the Influence of Training Samples on Explanations)
アベル1703における強い重力レンズ銀河のKeck分光サーベイ:平静で一峰性のクラスタであるさらなる証拠
(Keck spectroscopic survey of strongly lensed galaxies in Abell 1703: further evidence for a relaxed, unimodal cluster)
関連タグ
この記事をシェア

有益な情報を同僚や仲間と共有しませんか?

AI技術革新 - 人気記事
ブラックホールと量子機械学習の対応
(Black hole/quantum machine learning correspondence)
生成AI検索における敏感なユーザークエリの分類と分析
(Taxonomy and Analysis of Sensitive User Queries in Generative AI Search System)
DiReDi:AIoTアプリケーションのための蒸留と逆蒸留
(DiReDi: Distillation and Reverse Distillation for AIoT Applications)

PCも苦手だった私が

“AIに詳しい人“
として一目置かれる存在に!
  • AIBRプレミアム
  • 実践型生成AI活用キャンプ
あなたにオススメのカテゴリ
論文研究
さらに深い洞察を得る

AI戦略の専門知識を身につけ、競争優位性を構築しませんか?

AIBR プレミアム
年間たったの9,800円で
“AIに詳しい人”として一目置かれる存在に!

プレミア会員になって、山ほどあるAI論文の中から効率よく大事な情報を手に入れ、まわりと圧倒的な差をつけませんか?

詳細を見る
【実践型】
生成AI活用キャンプ
【文部科学省認可】
満足度100%の生成AI講座
3ヶ月後には、あなたも生成AIマスター!

「学ぶ」だけではなく「使える」ように。
経営者からも圧倒的な人気を誇るBBT大学の講座では、3ヶ月間質問し放題!誰1人置いていかずに寄り添います。

詳細を見る

AI Benchmark Researchをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む