Towards a Complete Static Analyser for Java: an Abstract Interpretation Framework and its Implementation
Author(s) -
Isabelle Pollet,
Baudouin Le Charlier
Publication year - 2005
Publication title -
electronic notes in theoretical computer science
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.242
H-Index - 60
ISSN - 1571-0661
DOI - 10.1016/j.entcs.2005.01.025
Subject(s) - abstract interpretation , computer science , programming language , java , parameterized complexity , concurrency , interpretation (philosophy) , relation (database) , analyser , theoretical computer science , semantics (computer science) , static analysis , variable (mathematics) , generics in java , algorithm , java annotation , real time java , data mining , mathematics , mathematical analysis , chemistry , chromatography
We present an abstract interpretation framework for a subset of Java (without concurrency). The framework uses a structural abstract domain whose concretization function is parameterized on a relation between abstract and concrete locations. When structurally incomptatible objects may be referred to by the same variable at a given program point, structural information is discarded and replaced by an approximated information about the objects (our presentation concentrates on type information). Plain structural information allows precise intra-procedural analysis but is quickly lost when returning from a method call. To overcome this limitation, relational structural information is introduced, which enables a precise inter-procedural analysis without resorting to inlining.The paper contains an overview of the work. We describe parts of the standard and abstract semantics; then, we briefly explain the fixpoint algorithms used by our implementation; lastly, we provide experimental results for small programs
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom