2009 卒業論文
変数使用とメソッド呼び出しに着目したFault-Prone メソッド特定手法の提案と評価
兼光 智子
卒業論文, 大阪大学
概要: 近年,ソフトウェア開発の大規模化・複雑化・開発期間の短縮化に伴い,
ソフトウェアのすべてのモジュールに同様の力を注ぐことは困難になってきている.
Fault-Prone モジュール,つまりフォールトを含んでいる可能性が高い
モジュールを予測し,そのモジュールに力を注ぐことで効率よく開発や保守が行える.
一般的なFault-Prone モジュールの予測手法では,ソフトウェア保守性を
評価するための複雑度メトリクスの値を説明変数として予測モデルを作成し,
予測したいモジュールに適用することが多い.
しかし,予測に使用するメトリクス値を測定するモジュールの単位は,
ファイルやクラスの場合が多い.モジュールの単位は小さい方が,
問題を特定しやすくより適切な箇所に力を注ぐことができ開発や保守の効率が上がる.
そこで,本研究ではメソッド単位でのメソッド呼び出しと変数使用に着目し,
Fault-Prone メソッドを特定する手法を提案する.
具体的には,メソッド呼び出しは,内部メソッド呼び出しと
外部メソッド呼び出しの2 種類に分けて考え,
そのうちの内部メソッド呼び出しの割合が大きいものほど
バグが含まれる可能性が高いと考える.
変数使用情報は,変数の使用可能な範囲と実際に使用されている範囲に着目し,
その差が大きいものほどバグが含まれる可能性が高いと考える.
次に,提案手法を実際のソースコードに適用しバグ情報との関連を見ることで
提案手法の有効性を調査した.その結果,メソッド呼び出しを用いた予測と
バグとの相関は低く従来のメトリクスであるコード行数やサイクロマチック数と
比べてもバグとの相関は低かった.しかし,変数使用情報を用いた予測は,
従来のメトリクスであるコード行数やサイクロマチック数より
バグとの相関があることを確認した.
また,変数の使用可能な範囲と実際に使用されている範囲の差が大きいものが,
簡単なリファクタリングによってその差を小さく出来ることを示した.
タグ: Fault-Prone, complexity, metrics, bug, detection, software, maintenance
@mastersthesis{兼光智子2009,
author = {兼光 智子},
title = {変数使用とメソッド呼び出しに着目したFault-Prone メソッド特定手法の提案と評価},
school = {大阪大学},
type = {Bachelor's Thesis},
year = {2009}
} Copy