Yue Li Tian Tan Yulei Sui Jingling Xue
Elf is a static reflection analysis tool for Java introduced in our paper titled "Self-Inferencing Reflection Resolution for Java", ECOOP'14. Together with a pointer analysis, it resolves reflective targets at reflective callsites by exploiting a self-inferencing property inherent in the program. A more sound and controllable reflection analysis could be found here: Solar.
News: From version 0.3, Elf can output its reflection analysis results with the format that is supported by Soot. You can let Soot receive the results of Elf easily by following the instructions in the tutorial.The tar.gz file includes three files:
tutorial: a step-by-step guide for installing Elf on top of Doop (version r160113) by using the two patch files (available below). The main differences between Elf and Doop are also summarised.
elf.patch: a patch file for updating the Datalog rules and some auxiliary scripts used in Doop.
gen.patch: a patch file for updating the fact generator (version r958) provided by Doop.
The authors wish to thank the Doop team for making Doop available, and LogicBlox Inc. for providing us its Datalog engine.