2020
DOI: 10.1145/3409001
|View full text |Cite
|
Sign up to set email alerts
|

Stable relations and abstract interpretation of higher-order programs

Abstract: We present a novel denotational semantics for the untyped call-by-value λ-calculus, where terms are interpreted as stable relations, i.e. as binary relations between substitutions and values, enjoying a monotonicity property. The denotation captures the input-output behaviour of higher-order programs, and is proved sound and complete with respect to the operational semantics. The definition also admits a presentation as a program logic. Following the principles of abstract interpretation, we use our denotation… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
4
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
2
2
1

Relationship

3
2

Authors

Journals

citations
Cited by 5 publications
(4 citation statements)
references
References 56 publications
0
4
0
Order By: Relevance
“…This idea could be pushed further, to analyse other intentional properties of programs, such as effect analysis, or complexity analysis. Moreover, we could also enrich the traces with the inputs of the programÐan approach similar to the analysis of input-output relations [30]. This would result in a relational control-flow analysis that detects which functions are called at a given program point, depending on the inputs of the program.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…This idea could be pushed further, to analyse other intentional properties of programs, such as effect analysis, or complexity analysis. Moreover, we could also enrich the traces with the inputs of the programÐan approach similar to the analysis of input-output relations [30]. This would result in a relational control-flow analysis that detects which functions are called at a given program point, depending on the inputs of the program.…”
Section: Discussionmentioning
confidence: 99%
“…Exploring ways to recover more precision is left for future work. We could for instance perform a narrowing pass, or design a more expressive domain for closures, that keeps information about the results of functionsÐa sort of function summaryÐor use a relational domain such as the one of [30], that keeps relations between inputs and outputs of functions.…”
mentioning
confidence: 99%
“…This challenging extension will require to define an adapted widening, and will greatly expand the range of programs we can analyze. Finally, combining NPRs with the recent extension of correlations to higher-order functions [14] is yet to be studied.…”
Section: Discussionmentioning
confidence: 99%
“…Finally, we hope that our abstract interpreter can be extended to perform other kinds of static analyses for OCaml programs, such as a purity analysis, or the detection of whether the behaviour of a program might depend on the order of evaluation. We would also like our implementation to serve as a basis for experimenting with recent relational domains for trees and scalars [29,61,2], and with relational analyses of functional programs [49].…”
Section: Conclusive Remarks and Future Workmentioning
confidence: 99%