Numerical static analysis with Soot

Gianluca Amato, Simone Di Nardo Di Maio, Francesca Scozzari
2013 Proceedings of the 2nd ACM SIGPLAN International Workshop on State Of the Art in Java Program analysis - SOAP '13  
Numerical static analysis computes an approximation of all the possible values that a numeric variable may assume, in any execution of the program. Many numerical static analyses have been proposed exploiting the theory of abstract interpretation, which is a general framework for designing provably correct program analysis. The two main problems in analyzing numerical properties are: choosing the right level of abstraction (the abstract domain) and developing an efficient iteration strategy
more » ... ration strategy which computes the analysis result guaranteeing termination and soundness. In this paper, we report on our prototype implementation of a Java bytecode static analyzer for numerical properties. It has been developed exploiting Soot bytecode abstractions, existing libraries for numerical abstract domains, and the iteration strategies commonly used in the abstract interpretation community. We show pros and cons of using Soot, and discuss the main differences between our analyzer and the Soot static analysis framework.
doi:10.1145/2487568.2487571 dblp:conf/pldi/AmatoMS13 fatcat:gsjnplk6wnfizllxycrb4cwhsa