author	 = {Christian Zoller and Axel Schmolitzky},
	title	 = {{AccessAnalysis - A Tool for Measuring the Appropriateness of Access Modifiers in Java Systems}},
	year	 = {2012},
	booktitle	 = {{Proceedings of the 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation}},
	publisher	 = {IEEE Computer Society},
	address	 = {Los Alamitos, CA, USA},
	pages	 = {120--125},
	conference	 = {SCAM 2012},
	location	 = {Riva del Garda, Trento, Italy},
	doi	 = {},
	abstract	 = {Access modifiers allow Java developers to define package and class interfaces tailored for different groups of clients. According to the principles of information hiding and encapsulation, the accessibility of types, methods, and fields should be as restrictive as possible. However, in programming practice, the potential of the given possibilities seems not always be fully exploited.
AccessAnalysis is a plug-in for the Eclipse IDE that measures the usage of access modifiers for types and methods in Java. It calculates two metrics, Inappropriate Generosity with Accessibility of Types (IGAT) and Inappropriate Generosity with Accessibility of Methods (IGAM), which represent the degree of deviation between actual and necessary access modifiers. As an approximation for the necessary access modifier, we introduce the notion of minimal access modifiers. The minimal access modifier is the most restrictive access modifier that allows all existing references to a type or method in the entire source code of a system. AccessAnalysis determines minimal access modifiers by static source code analysis using the build-in Java DOM/AST API of Eclipse.},