Certifying a java type resolution function using program transformation, annotation, and reflection.

Uložené v:
Podrobná bibliografia
Názov: Certifying a java type resolution function using program transformation, annotation, and reflection.
Autori: Winter, Victor, Reinke, Carl, Guerrero, Jonathan
Zdroj: Software Quality Journal; Mar2016, Vol. 24 Issue 1, p115-135, 21p
Predmety: JAVA programming language, COMPILERS (Computer programs), PROGRAMMING language semantics, SOURCE code, COMPUTER software safety measures
Abstrakt: 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. [ABSTRACT FROM AUTHOR]
Copyright of Software Quality Journal is the property of Springer Nature and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Databáza: Complementary Index
Popis
Abstrakt: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. [ABSTRACT FROM AUTHOR]
ISSN:09639314
DOI:10.1007/s11219-014-9262-2