@inproceedings{10.1145/3394451.3397204,
author = {Reif, Michael and K\"{u}bler, Florian and Helm, Dominik and Hermann, Ben and Eichberg, Michael and Mezini, Mira},
title = {TACAI: An Intermediate Representation Based on Abstract Interpretation},
year = {2020},
isbn = {9781450379977},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3394451.3397204},
doi = {10.1145/3394451.3397204},
abstract = {Most Java static analysis frameworks provide an intermediate presentation (IR) of Java Bytecode to facilitate the development of static analyses. While such IRs are often based on three-address code, the transformation itself is a great opportunity to apply optimizations to the transformed code, such as constant propagation.  In this paper, we propose TACAI, a refinable IR that is based on abstract interpretation results of a method's bytecode. Exchanging the underlying abstract interpretation domains enables the creation of various IRs 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 IR.},
booktitle = {Proceedings of the 9th ACM SIGPLAN International Workshop on the State Of the Art in Program Analysis},
pages = {2–7},
numpages = {6},
keywords = {three-address code, static analysis, static single assignment, Java bytecode},
location = {London, UK},
series = {SOAP 2020}
}