@techreport{oai:ipsj.ixsq.nii.ac.jp:00092414, author = {石居達也 and 小堀一雄 and 松下誠 and 井上克郎}, issue = {1}, month = {May}, note = {Java では,フィールドおよびメソッドに対してアクセス修飾子を宣言することで,外部からアクセス可能な範囲を制限することができる.しかし,既存ソフトウェアには実際の利用範囲に対して過剰に広く設定されているアクセス修飾子が多数存在することが知られている.一方で,それらのアクセス修飾子の修正状況については,過去に分析が行われていない.そこで本研究では,ソフトウェア開発の履歴を対象として,過剰なアクセス修飾子に対する修正作業の実行頻度について分析した.分析対象とするデータは,既存のアクセス修飾子過剰性検出ツールを拡張して既存の 7 つの Java プロジェクトから取得した.分析を行うに当たり,宣言されているアクセス修飾子と実際の利用範囲に基づき,フィールドおよびメソッドを 3 状態へ分類した.さらに,バージョン間における状態遷移を,性質ごとに 6 つのグループへと分類した.その結果,過剰なアクセス修飾子の大半は,修正されずそのまま放置されていることを確認した.一方,一部の種類の過剰なアクセス修飾子については,分析対象の全プロジェクトにおいて修正が行われていることを確認した., Developers can declare access modifiers for fields and methods in Java, and this lets them limit access scopes for fields and methods. However, existing software has a lot of fields and methods that have access modifiers whose access scopes are larger than actual ones. On the other hand, it is not clear how often these access modifiers are modified. In this study, we analyzes how often developers modify excessive access modifiers in software update. We get data of analysis subject from existing seven Java projects by using a existing tool that detects fields and methods with excessive access modifiers, by extension. Moreover, we labeled fields and methods as three states by the combination of declared and actual access scope. Then, we also labeled state transitions of fields and methods between old and new versions as six states by their behaviors. As a result, the tendency was confirmed that most of the excessive access modifiers were leaved and not touched. By contrast, some kind of excessive access modifier was confirmed that they were modified in all of intended Java projects.}, title = {アクセス修飾子過剰性の変遷に着目したJavaプログラム部品の分析}, year = {2013} }