Effective Soundness-Guided Reflection Analysis

Authors

Yue Li Tian Tan Jingling Xue

Description

Solar is a static analysis framework that strives to automate sound reflection analysis for Java programs (under some assumptions) introduced in our paper titled "Effective Soundness-Guided Reflection Analysis", SAS'2015. Solar can identify the places in a program where reflection is resolved unsoundly or imprecisely, enabling lightweight annotations to improve the quality of analysis and make the analysis controllable.

Solar is implemented on top of Elf. To ease the understanding of the Datalog rules used in our implementation, we have rewritten the rules inherited from Elf and added new ones in a uniform manner. Users are expected to understand how different parts of the Java reflection API are handled easily and precisely when applying Solar to analyse their applications.

Solar can output its reflection analysis results with the format that is supported by Soot. You can let Soot receive the results of Solar easily by following the instructions in the tutorial.

License

GPL v3

Downloads

The tar.gz file includes four important files:

Acknowledgements

The authors wish to thank the Doop team for making Doop available, and LogicBlox Inc. for providing us its Datalog engine.