• DocumentCode
    2687159
  • Title

    AccessAnalysis: A Tool for Measuring the Appropriateness of Access Modifiers in Java Systems

  • Author

    Zoller, Christian ; Schmolitzky, Axel

  • Author_Institution
    Software Eng. & Software Archit. Dept. of Inf., Univ. of Hamburg, Hamburg, Germany
  • fYear
    2012
  • fDate
    23-24 Sept. 2012
  • Firstpage
    120
  • Lastpage
    125
  • 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. Access Analysis 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. Access Analysis determines minimal access modifiers by static source code analysis using the build-in Java DOM/AST API of Eclipse.
  • Keywords
    Java; application program interfaces; data encapsulation; program compilers; program diagnostics; user interfaces; AccessAnalysis; Eclipse IDE; IGAM; IGAT; Java AST API; Java DOM API; Java developers; Java systems; class interfaces; inappropriate generosity with accessibility of methods; inappropriate generosity with accessibility of types; information encapsulation; information hiding; minimal access modifiers; plug-in; programming practice; static source code analysis; Abstracts; Approximation methods; Encapsulation; Java; Measurement; Programming; Software engineering;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation (SCAM), 2012 IEEE 12th International Working Conference on
  • Conference_Location
    Trento
  • Print_ISBN
    978-1-4673-2398-7
  • Type

    conf

  • DOI
    10.1109/SCAM.2012.23
  • Filename
    6392109