楠本研究室

業績一覧

ホーム業績一覧

Javaプロジェクトに含まれる本質的でない変更の検出

Javaプロジェクトに含まれる本質的でない変更の検出
卒業論文, 大阪大学
概要: ソースコードの変更には,プログラムの振る舞いを変える変更がある一方,振る舞いを変えない変更も存在する.本研究では,前者を本質的な変更とし,後者を本質的でない変更とする.本質的でない変 更はプログラムの振る舞いに影響を与えないため,本質的な変更が行われた時と同様なテストを行う必 要がない.本質的でない変更を客観的かつ自動で判断できれば,不必要なテストを削減できる.本研究 では,Java プロジェクトを対象とし,バイトコードの変化の有無による本質的でない変更の検出方法 を提案する.提案手法では,コンパイルによって失われる情報だけを含む変更は本質的でないとみなし,ソースコードを変更した際にバイトコードが変わらない変更を本質的でない変更とする.調査の結 果 6 つの Java プロジェクトに含まれる Java ファイルが編集されたコミットのうち,8.6%∼22.4% の コミットは本質的でない変更のみで構成されていた.また,先行研究と比較し新たに 25 種類の本質的でない変更を検出可能であることを確認した.さらに,Java のファイル変更が行われたコミットのテスト時間のうち,10.4% のテスト時間が削減できることを確認した.
@mastersthesis{前島葵2020a,
  author = {前島 葵},
  title = {Javaプロジェクトに含まれる本質的でない変更の検出},
  school = {大阪大学},
  type = {Bachelor's Thesis},
  year = {2020},
  month = {feb}
}