WEKO3
アイテム
抽象構文木を利用したAPIの後方互換性が破壊される変更の検出
https://ipsj.ixsq.nii.ac.jp/records/212706
https://ipsj.ixsq.nii.ac.jp/records/212706247da266-eb3a-46ba-907d-cc0a0f908807
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2021 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Symposium(1) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
公開日 | 2021-08-30 | |||||||||||
タイトル | ||||||||||||
タイトル | 抽象構文木を利用したAPIの後方互換性が破壊される変更の検出 | |||||||||||
言語 | ||||||||||||
言語 | jpn | |||||||||||
キーワード | ||||||||||||
主題Scheme | Other | |||||||||||
主題 | OSS・マイニング | |||||||||||
資源タイプ | ||||||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_5794 | |||||||||||
資源タイプ | conference paper | |||||||||||
著者所属 | ||||||||||||
大阪大学大学院情報科学研究科 | ||||||||||||
著者所属 | ||||||||||||
大阪大学大学院情報科学研究科 | ||||||||||||
著者所属 | ||||||||||||
大阪大学大学院情報科学研究科 | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
Graduate School of Information Science and Technology, Osaka University | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
Graduate School of Information Science and Technology, Osaka University | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
Graduate School of Information Science and Technology, Osaka University | ||||||||||||
著者名 |
入山, 優
× 入山, 優
× 肥後, 芳樹
× 楠本, 真二
|
|||||||||||
論文抄録 | ||||||||||||
内容記述タイプ | Other | |||||||||||
内容記述 | ライブラリが更新されると,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 の後方互換性が維持されているかを判別できることを確認した. | |||||||||||
書誌情報 |
ソフトウェアエンジニアリングシンポジウム2021論文集 巻 2021, p. 209-218, 発行日 2021-08-30 |
|||||||||||
出版者 | ||||||||||||
言語 | ja | |||||||||||
出版者 | 情報処理学会 |