- 【Updated on May 12, 2025】 Integration of CiNii Dissertations and CiNii Books into CiNii Research
- Trial version of CiNii Research Automatic Translation feature is available on CiNii Labs
- Suspension and deletion of data provided by Nikkei BP
- Regarding the recording of “Research Data” and “Evidence Data”
抽象構文木を利用したAPIの後方互換性が破壊される変更の検出
Description
ライブラリが更新されると,API も変更される.API の変更は様々で,後方互換性を壊す変更と後方互換性を維持する変更に分類できる.API の変更を検出し,その変更によって API の後方互換性が維持されているかを判別することはコードレビューやリリースノートの作成に役立つ.ライブラリから API の変更を手動で調べるには負担が大きいため,その負担の軽減を目的とした API の変更の自動検出に関する研究が行われている.API の変更を自動で検出し,後方互換性を壊す変更と後方互換性を維持する変更に分類するツールとして APIDiff がある.APIDiff は Java ライブラリの 2 つのバージョンを入力として受け取り,コードの類似度に基づいて API の変更を検出し,各変更を後方互換性を壊す変更と後方互換性を維持する変更に分類する.しかし,コードの類似度の閾値を適切に設定することは難しく,APIDiff はリファクタリングとして分類すべき API の変更を誤って分類する場合がある.また検出した変更を変更の種類ごとに後方互換性を壊す変更なのかを判別しているため,ある API に対して複数の変更が行われるとそれらの変更によって API の後方互換性が維持されているかを正しく判別できない場合がある.そこで提案手法では,コードの類似度の閾値に依存せず抽象構文木を用いてリファクタリングを検出する RefactoringMiner を利用し,API の変更を検出する.そして API ごとに変更をグループ化して後方互換性を壊す変更が含まれているかを調べることで,それらの変更によって API の後方互換性が維持されているかを判別する.8 個のオープンソースソフトウェアに対して実験を行った結果,既存手法と比べて API の変更をより高い精度で検出できることを確認した.また 1 つの API に対して後方互換性を維持する変更と後方互換性を壊す変更が行われた場合でも,それらの変更によって API の後方互換性が維持されているかを判別できることを確認した.
Journal
-
- ソフトウェアエンジニアリングシンポジウム2021論文集
-
ソフトウェアエンジニアリングシンポジウム2021論文集 2021 209-218, 2021-08-30
情報処理学会
- Tweet
Keywords
Details 詳細情報について
-
- CRID
- 1050574047104714368
-
- NII Article ID
- 170000185256
-
- Text Lang
- ja
-
- Article Type
- conference paper
-
- Data Source
-
- IRDB
- CiNii Articles