Title
Certifying a java type resolution function using program transformation, annotation, and reflection
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 name 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.
Year
DOI
Venue
2016
10.1007/s11219-014-9262-2
Software Quality Journal
Keywords
Field
DocType
Source code analysis,Java,Type resolution,Reflection,Annotation,Program transformation
Programming language,Scala,Computer science,Java annotation,Java concurrency,Java compiler,Generics in Java,strictfp,Java Modeling Language,Java
Journal
Volume
Issue
ISSN
24
1
0963-9314
Citations 
PageRank 
References 
0
0.34
16
Authors
3
Name
Order
Citations
PageRank
Victor L. Winter111017.04
Carl Reinke261.54
Jonathan Guerrero361.54