• DocumentCode
    258405
  • Title

    Using Program Transformation, Annotation, and Reflection to Certify a Java Type Resolution Function

  • Author

    Winter, Victor L. ; Reinke, Christoph ; Guerrero, Juan

  • Author_Institution
    Dept. of Comput. Sci., Univ. of Nebraska at Omaha, Omaha, NE, USA
  • fYear
    2014
  • fDate
    9-11 Jan. 2014
  • Firstpage
    137
  • Lastpage
    145
  • Abstract
    In Java, type resolution is a function that takes a reference to a type occurring in a given context as input, and returns the canonical form of that type. This information is fundamental to static analysis - a "must have" function underlying virtually all forms of semantic-based analysis. In the case of Java, this function is also complex and it is quite common to encounter tools where it is implemented incorrectly. This paper presents a novel approach for certifying the correctness of a given type resolution function with respect to an arbitrary Java source code base. The approach uses program transformation to instrument a subject code base in such a way that reflection can then be used to certify the correctness of the type resolution function against the function used by the Java compiler. In this form of certification, the type resolution function of the Java compiler serves as the test oracle.
  • Keywords
    Java; program compilers; Java compiler; Java source code base; Java type resolution function; program annotation; program reflection; program transformation; semantic based analysis; subject code; Access control; Bismuth; Complexity theory; Context; Instruments; Java; Program processors; Java; annotation; program transformation; reflection; source code analysis; type resolution;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Assurance Systems Engineering (HASE), 2014 IEEE 15th International Symposium on
  • Conference_Location
    Miami Beach, FL
  • Print_ISBN
    978-1-4799-3465-2
  • Type

    conf

  • DOI
    10.1109/HASE.2014.27
  • Filename
    6754598