-
-
Notifications
You must be signed in to change notification settings - Fork 710
Inter procedural program analysis with Soot and Heros
Using the Heros framework, you can easily implement very efficient and precise inter-procedural program analyses in the IFDS/IDE frameworks.
Note: IFDS/IDE lets you implement - very efficiently - tabulation-based inter-procedural analyses that are also fully context sensitive and thus fully precise. There is a requirement, however: all flow functions you implement must distribute over the merge operator. Moreover, in IFDS this merge operator must be set union. For more details please read this paper:
The Secret Sauce in Efficient and Precise Static Analysis: The Beauty of Distributive, Summary-based Static Analyses (and How to Master Them) (Eric Bodden), In ACM SIGPLAN International Workshop on the State Of the Art in Java Program Analysis (SOAP 2018), pages 85–93, ISSTA ’18, ACM, 2018.
If your flow functions do not have this property, you may lose precision. In such cases, consider using the VASCO framework instead.
Also check out Soot's webpage.
NOTE: If you find any bugs in those tutorials (or other parts of Soot) please help us out by reporting them in our issue tracker.
- Home
- Getting Help
- Tutorials
- Reference Material
- General Notions
- Getting Started
- A Few Uses of Soot
- Using Soot as a Command-Line Tool
- Using the Soot Eclipse Plugin
- Using Soot as a Compiler Framework
- Building Soot
- Coding Conventions
- Contributing to Soot
- Updating the Soot Web Page
- Reporting Bugs
- Preparing a New Soot Release