FIT2015第14回情報科学技術フォーラム 開催日:2015年9月15日(火)~17日(木) 会場:愛媛大学城北キャンパス
抄録
B-009
Javaメソッドの純粋性の変化と不具合の混入および除去に関する調査
小倉直徒・楊 嘉晨・堀田圭佑・肥後芳樹・楠本真二(阪大)
副作用を持たないメソッド(以降,純粋なメソッド)は並列実行による競合といった問題が起こらないため並列で実行されるメソッドの実装において重要である.また,equalsメソッドやhashCodeメソッド,getterメソッドなど呼び出しによってインスタンスのメンバ変数が変化しないと開発者が推測しているメソッドもある. 本研究では純粋であったメソッドが純粋でなくなることに起因する不具合を検証するため,2つのオープンソースソフトウェアを対象に調査した.その結果,何度も純粋性の変化するメソッドがいくつかあり,純粋が変化する多くのメソッドのソースコードには変更が加えられていないことがわかった.これは開発者が意図せずメソッドの純粋性を変化させてしまう可能性があることを示している.また,メソッドが純粋でなくなった変更を対象にその変更内容の分類を行い,機能追加や不具合の除去が多く行われていることが分かった. 一方,不具合の混入と判断された変更は1件のみであり,その変更はデバッグ作業のために追加した文字列出力命令であった.