Numerical static analysis with Soot

  • Authors:
  • Gianluca Amato;Simone Di Nardo Di Maio;Francesca Scozzari

  • Affiliations:
  • Università di Chieti-Pescara - Italy;Università di Chieti-Pescara - Italy;Università di Chieti-Pescara - Italy

  • Venue:
  • Proceedings of the 2nd ACM SIGPLAN International Workshop on State Of the Art in Java Program analysis
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 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.