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.
Conference DayMon 15 JunDisplayed time zone: Pacific Time (US & Canada) change
06:20 - 07:40
|Explaining Bug Provenance with Trace Witnesses|
Jixiang ShenThe University of Sydney, Xi WuThe University of Sydney, Neville GrechUniversity of Athens, Greece, Bernhard ScholzUniversity of Sydney, Australia, Yannis SmaragdakisUniversity of Athens, GreeceMedia Attached
|TACAI: An Intermediate Representation based on Abstract Interpretation|
Michael ReifTU Darmstadt, Germany, Florian KüblerTU Darmstadt, Germany, Dominik HelmTU Darmstadt, Germany, Ben HermannPaderborn University, Michael EichbergTU Darmstadt, Germany, Mira MeziniTechnische Universität DarmstadtMedia Attached
|Value and Allocation Sensitivities in Static Python Analyses|
Raphaël MonatSorbonne University — LIP6, Abdelraouf OuadjaoutSorbonne Université, Antoine MinéSorbonne UniversitéMedia Attached