Memory-efficient Fixpoint Computation

Kim, Sung Kook and Venet, Arnaud J. and Thakur, Aditya V.
27th Static Analysis Symposium (SAS), 2020

Practical adoption of static analysis often requires trading precision for performance. This paper focuses on improving the memory efficiency of abstract interpretation without sacrificing precision or time efficiency. Computationally, abstract interpretation reduces the problem of inferring program invariants to computing a fixpoint of a set of equations. This paper presents a method to minimize the memory footprint in Bourdoncle’s iteration strategy, a widely-used technique for fixpoint computation. Our technique is agnostic to the abstract domain used. We prove that our technique is optimal (i.e., it results in minimum memory footprint) for Bourdoncle’s iteration strategy while computing the same result. We evaluate the efficacy of our technique by implementing it in a tool called MIKOS, which extends the state-of-the-art abstract interpreter IKOS. When verifying user-provided assertions, MIKOS shows a decrease in peak-memory usage to 4.07 % (24.57x) on average compared to IKOS. When performing interprocedural buffer-overflow analysis, MIKOS shows a decrease in peak-memory usage to 43.7% (2.29x) on average compared to IKOS.

PDF     Springer©    

@inproceedings{SAS20a,
  author = {Kim, Sung Kook and Venet, Arnaud J. and Thakur, Aditya V.},
  title = {Memory-efficient Fixpoint Computation},
  booktitle = {27th Static Analysis Symposium (SAS)},
  year = {2020},
  publisher = {Springer},
  doi = {10.1007/978-3-030-65474-0_3},
  note = {Awarded the Radhia Cousot Young Researcher Best Paper Award}
}