楠本研究室

業績一覧

ホーム業績一覧

メソッドに対するセマンティックバージョニング手法の提案

メソッドに対するセマンティックバージョニング手法の提案
卒業論文, 大阪大学
特別研究報告 概要: ソフトウェア開発において利用されるライブラリは,機能追加や変更,バグ修正などが行われることで変化する.ライブラリが何度変化したものであるかを区別するために,バージョンという数値が用いられる.バージョンを付与することをバージョニングといい,その手法の1 つにセマンティックバージョニングと呼ばれる手法がある.この手法は,バージョンから後方互換性の有無を判断できるようにバージョニングを行う方法である.バージョンはライブラリを区別するために付与されるものであるため,1 つのライブラリに対して1 つ与えられる.そのため,バージョンからライブラリに後方互換性がないという判断はできるが,ライブラリが提供するすべての機能に後方互換性がないのか,あるいは一部の機能だけ後方後方互換性がないのか,ということまでは判断できない.すなわち,ライブラリのバージョンだけでは特定の機能について後方互換性の有無を判断できないという問題がある.また,セマンティックバージョニングの原則に従っていないライブラリがあると指摘する先行研究がある.本研究ではこれらの問題点を解決するためにメソッド単位でセマンティックバージョニングを行う手法を提案し,Java 言語のメソッドに対して提案手法を適用するツールを作成した.さらに,9 つのライブラリについてセマンティックバージョニングの原則に従っていないリリースを調査し,その原因となっているメソッドを特定する実験を行った.実験の結果,9 つすべてのライブラリにセマンティックバージョニングに反したリリースがあり,それらのリリースにおいて1 リリースあたり平均約55 個のメソッドに後方互換性のない変更が行われていることが明らかになった. タグ: method, level, semantic, versioning, version, control, system, mining, software, repository
@mastersthesis{林純一2018,
  author = {林 純一},
  title = {メソッドに対するセマンティックバージョニング手法の提案},
  school = {大阪大学},
  type = {Bachelor's Thesis},
  year = {2018},
  month = {feb}
}