2019
DOI: 10.1145/3310340
|View full text |Cite
|
Sign up to set email alerts
|

Higher-order Demand-driven Program Analysis

Abstract: We explore a novel approach to higher-order program analysis that brings ideas of on-demand lookup from first-order CFL-reachability program analyses to higher-order programs. The analysis needs to produce only a control-flow graph; it can derive all other information including values of variables directly from the graph. Several challenges had to be overcome, including how to build the control-flow graph on-the-fly and how to deal with non-local variables in functions. The resulting analysis is flow-and conte… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
3
1
1

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(7 citation statements)
references
References 49 publications
0
7
0
Order By: Relevance
“…For recursive functions, definable here via self-passing, the context stack may grow unboundedly but there is no need for any special handling in the lookup definition. The demand-driven evaluator described here is novel but is based on ideas in [Facchinetti et al 2019] (the ωDDPAc evaluator there), where it was used for the purpose of proving a program analysis sound.…”
Section: Non-local Variablesmentioning
confidence: 99%
See 4 more Smart Citations
“…For recursive functions, definable here via self-passing, the context stack may grow unboundedly but there is no need for any special handling in the lookup definition. The demand-driven evaluator described here is novel but is based on ideas in [Facchinetti et al 2019] (the ωDDPAc evaluator there), where it was used for the purpose of proving a program analysis sound.…”
Section: Non-local Variablesmentioning
confidence: 99%
“…Section 2.1 gave an informal treatment of how a demand-driven interpreter operates; here we make that informal intuition precise. This interpreter design was initially inspired by the ωDDPAc interpreter of [Facchinetti et al 2019]; unlike that interpreter it depends on and constructs no control flow graph in a forward direction, so it is łeven more demand drivenž than [Facchinetti et al 2019].…”
Section: A Reverse Construction Interpretermentioning
confidence: 99%
See 3 more Smart Citations