Verification of Java Bytecode using Analysis and Transformation of Logic Programs - Computer Science > Programming LanguagesReport as inadecuate




Verification of Java Bytecode using Analysis and Transformation of Logic Programs - Computer Science > Programming Languages - Download this document for free, or read online. Document in PDF available to download.

Abstract: State of the art analyzers in the Logic Programming LP paradigm arenowadays mature and sophisticated. They allow inferring a wide variety ofglobal properties including termination, bounds on resource consumption, etc.The aim of this work is to automatically transfer the power of such analysistools for LP to the analysis and verification of Java bytecode JVML. In orderto achieve our goal, we rely on well-known techniques for meta-programming andprogram specialization. More precisely, we propose to partially evaluate a JVMLinterpreter implemented in LP together with an LP representation of a JVMLprogram and then analyze the residual program. Interestingly, at least for theexamples we have studied, our approach produces very simple LP representationsof the original JVML programs. This can be seen as a decompilation from JVML tohigh-level LP source. By reasoning about such residual programs, we canautomatically prove in the CiaoPP system some non-trivial properties of JVMLprograms such as termination, run-time error freeness and infer bounds on itsresource consumption. We are not aware of any other system which is able toverify such advanced properties of Java bytecode.



Author: Elvira Albert, Miguel Gómez-Zamalloa, Laurent Hubert, German Puebla

Source: https://arxiv.org/







Related documents