Abstract
Pointer analysis is a fundamental static program analysis for computing the set of objects that an expression can refer to. Decades of research has gone into developing methods of varying precision and efficiency for pointer analysis for programs that use different language features, but determining precisely how efficient a particular method is has been a challenge in itself. For programs that use different language features, we consider methods for pointer analysis using Datalog and extensions to Datalog. When the rules are in Datalog, we present the calculation of precise time complexities from the rules using a new algorithm for decomposing rules for obtaining the best complexities. When extensions such as function symbols and universal quantification are used, we describe algorithms for efficiently implementing the extensions and the complexities of the algorithms.
| Original language | English |
|---|---|
| Pages (from-to) | 916-932 |
| Number of pages | 17 |
| Journal | Theory and Practice of Logic Programming |
| Volume | 16 |
| Issue number | 5-6 |
| DOIs | |
| State | Published - Sep 1 2016 |
Keywords
- alias analysis
- computational complexity
- Datalog
- function symbols
- pointer analysis
- static program analysis
- universal quantification
Fingerprint
Dive into the research topics of 'Precise complexity guarantees for pointer analysis via datalog with extensions'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver