@article{oai:ipsj.ixsq.nii.ac.jp:00072846, author = {畑, 秀明 and 森井, 亮介 and 水野, 修 and 菊野, 亨 and Hideaki, Hata and Ryosuke, Morii and Osamu, Mizuno and Tohru, Kikuno}, issue = {2}, journal = {情報処理学会論文誌}, month = {Feb}, note = {ソフトウェアの開発において,プログラムの再利用や効率的なプログラム作成のために,API(Application Program Interface)が用いられる.しかし,使用方法や使用例についてのドキュメントが整備されていないことも多く,APIを適切に使用することは難しい.APIの設計や提供方法などについての定性的な議論は行われているが,これまで定量的な分析はほとんど行われていない.本稿では,不具合修正時に各メソッド呼び出しに対する変更が実際にどれほど行われているかを分析する.特に,不具合修正時に頻繁に修正される特徴的なメソッド呼び出しがあるか,複数のプロジェクトで共通して頻繁に変更されているメソッド呼び出しはあるか,プロジェクトの時間経過によって変更対象となるメソッド呼び出しに変化はあるか,を明らかにすることを目標とした.各変更がどのメソッド呼び出しに影響するかを明らかにするため,プログラム依存グラフに基づく分析を行った.7つのJavaのオープンソースプロジェクトに対してケーススタディを行った.分析結果から,プロジェクト特有の頻繁に変更されるメソッド呼び出しがあること,複数のプロジェクトにて頻繁に変更されているメソッド呼び出しもあること,時間経過によって変更対象となるメソッド呼び出しが変化することを明らかにした., In developing software, developers use APIs to reuse existing programs but APIs are said to be difficult to use properly because of insufficient documents or code examples. Though there are several notions about the difficulty of APIs, there are few studies conducting quantitative analysis of bug-related APIs. In this paper, we conduct quantitative analysis of method calls related to bug fixing. The main research questions in this paper are: Which method calls are more frequently changed, are there common method calls frequently changed over projects, and are there differences among periods in frequently changed method calls? To answer these questions, bug-fix changes in software repositories that affect method calls are explored. To capture the effects of change on method calls, analyzing only syntactic structure changes is not appropriate. We conducted program dependency graph based analysis to capture data dependency and control dependency. An empirical case study is conducted with seven open source projects and project-specific method calls that are frequently changed are obtained. Also, particular method calls are found to be changed among several projects. In addition, it reveals that particular method calls are frequently changed in a particular period.}, pages = {801--816}, title = {不具合修正に関わるメソッド呼び出しの変更についての定量的分析}, volume = {52}, year = {2011} }