Abstract
In this article we provide an interprocedural analysis of linear two-variable equalities. The novel algorithm has a worst-case complexity of O(n. k4), where k is the number of variables and n is the program size. Thus, it saves a factor of k4 in comparison to a related algorithm based on full linear algebra. We also indicate how the practical runtime can be further reduced significantly. The analysis can be applied, for example, for register coalescing, for identifying local variables and thus for interprocedurally observing stack pointer modifications as well as for an analysis of array index expressions, when analyzing low-level code.
Original language | English |
---|---|
Article number | 21 |
Journal | ACM Transactions on Programming Languages and Systems (TOPLAS) |
Volume | 33 |
Issue number | 6 |
DOIs | |
State | Published - Dec 2011 |
Keywords
- Abstract interpretation
- Interprocedural analysis
- Linear equalities
- Linear two-variable equalities
- Low-level code analysis
- Static analysis
- Summary functions
- Variable differences