概要: ライブラリがアップグレードされると,API も変更される.API の変更は様々で,それらを分類することはコードレビューやリリースノートの作成に役立つ.ライブラリからAPI の変更点を手動で調べるには負担が大きいため,その負担の軽減を目的としたAPI の変更の自動検出に関する研究が行われている.API の変更を自動で検出し,その種類ごとに分類するツールとしてAPIDiff がある.APIDiff はJava ライブラリの2 つのバージョンを入力として受け取り,静的解析とコードの類似性に基づいてAPIの変更を検出して分類する.しかし,コードの類似性の閾値を適切に設定することは難しく,APIDiffはリファクタリングとして分類すべきAPI の変更を誤って分類する場合がある.そこで提案手法では,コードの類似性の閾値に依存せず抽象構文木を用いてリファクタリングを検出するRefactoringMinerを利用し,API の変更を分類する.8 個のオープンソースソフトウェアに対して実験を行った結果,既存手法と比べてAPI の変更をより高い精度で分類できることを確認した.また,既存手法と比較し新たに8 種類のリファクタリングを検出可能であることを確認した.
@mastersthesis{入山優2021,
author = {入山 優},
title = {抽象構文木を利用したAPIに対する変更の検出},
school = {大阪大学},
type = {Bachelor's Thesis},
year = {2021},
month = {feb}
}