2020
DOI: 10.1007/978-3-030-51054-1_19
|View full text |Cite
|
Sign up to set email alerts
|

A Fast Verified Liveness Analysis in SSA Form

Abstract: Liveness analysis is a standard compiler analysis, enabling several optimizations such as deadcode elimination. The SSA form is a popular compiler intermediate language allowing for simple and fast optimizations. Boissinot et al. [7] designed a fast liveness analysis by combining the specific properties of SSA with graph-theoretic ideas such as depth-first search and dominance. We formalize their approach in the Coq proof assistant, inside the CompCertSSA verified C compiler. We also compare experimentally thi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2

Citation Types

0
2
0

Year Published

2021
2021
2021
2021

Publication Types

Select...
1

Relationship

0
1

Authors

Journals

citations
Cited by 1 publication
(2 citation statements)
references
References 13 publications
(50 reference statements)
0
2
0
Order By: Relevance
“…Infeasible paths are also caused by the conflicting clauses found within certain paths. Moreover, infeasible paths could potentially be associated with conditional statements specific to a variable (which is also one of the major causes of the inability to access specific aspects of a program [19,20]). Therefore, to improve the outcomes of the static analysis, a detection stage of the feasible paths within the source code should be in place.…”
Section: Background 21 Static Analysismentioning
confidence: 99%
See 1 more Smart Citation
“…Infeasible paths are also caused by the conflicting clauses found within certain paths. Moreover, infeasible paths could potentially be associated with conditional statements specific to a variable (which is also one of the major causes of the inability to access specific aspects of a program [19,20]). Therefore, to improve the outcomes of the static analysis, a detection stage of the feasible paths within the source code should be in place.…”
Section: Background 21 Static Analysismentioning
confidence: 99%
“…However, this representation introduces a complication at join points of different flow branches. To solve this problem, a φ function is used in places where we could not pinpoint the exact variable "version" [19,20]. A code corresponding to the φ function usage and a simplified graph excerpt are shown in Figure 2b.…”
Section: Background 21 Static Analysismentioning
confidence: 99%