Julia: A Generic Static Analyser for the Java Bytecode
Fausto Spoto · 2005
We describe our software tool JULIA for the static analysis of full sequential Java bytecode. This tool is generic in the sense that no specific abstract domain (analysis) is embedded in JULIA. Instead, abstract domains are provided as external classes that specialise the behaviour of JULIA. Static analysis is performed through a denotational fixpoint calculation, focused on some program points called watchpoints. These points specify where the result of the analysis is useful, and can be automatically placed by the abstract domain or manually provided by the user. JULIA can be instructed to include a given set of library Java classes in the analysis, in order to improve its precision. Moreover, it gives abstract domains the opportunity to approximate control and data-flow arising from exceptions and subroutines.