TACAI: An Intermediate Representation based on Abstract Interpretation
To facilitate the easier development of static analyses, most Java static analysis frameworks provide an intermediate representation of Java bytecode. While such representations are often based on three-address code, the transformation itself is a great, yet too little used opportunity to apply optimizations to the transformed code, such as constant propagation.
In this paper, we propose TACAl, a refinable intermediate representation that is based on abstract interpretation results of a method’s bytecode. Exchanging the underlying abstract interpretation domains enables the creation of various intermediate representations of different precision levels. Our evaluation shows that TACAI can be efficiently computed and provides slightly more precise receiver-type information than Soot’s Shimple representation. Furthermore, we show how exchanging the underlying abstract domains directly impacts the generated representation.
Mon 15 JunDisplayed time zone: Pacific Time (US & Canada) change
06:20 - 07:40
|Explaining Bug Provenance with Trace Witnesses|
Jixiang Shen The University of Sydney, Xi Wu The University of Sydney, Neville Grech University of Athens, Greece, Bernhard Scholz University of Sydney, Australia, Yannis Smaragdakis University of Athens, GreeceMedia Attached
|TACAI: An Intermediate Representation based on Abstract Interpretation|
Michael Reif TU Darmstadt, Germany, Florian Kübler TU Darmstadt, Germany, Dominik Helm TU Darmstadt, Germany, Ben Hermann Paderborn University, Michael Eichberg TU Darmstadt, Germany, Mira Mezini Technische Universität DarmstadtMedia Attached
|Value and Allocation Sensitivities in Static Python Analyses|
Raphaël Monat Sorbonne University — LIP6, Abdelraouf Ouadjaout Sorbonne Université, Antoine Miné Sorbonne UniversitéMedia Attached