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 denotational semantics as a
collecting semantics
to derive a modular
relational
analysis for higher-order programs. The analysis infers equalities between the arguments of a program and its result—a form of
frame condition
for functional programs.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Pure Demand Operational Semantics with Applications to Program Analysis;Proceedings of the ACM on Programming Languages;2024-04-29
2. Interactive Abstract Interpretation with Demanded Summarization;ACM Transactions on Programming Languages and Systems;2024-03-29
3. Detection of Uncaught Exceptions in Functional Programs by Abstract Interpretation;Lecture Notes in Computer Science;2024
4. Trace-based control-flow analysis;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
5. Numeric domains meet algebraic data types;Proceedings of the 9th ACM SIGPLAN International Workshop on Numerical and Symbolic Abstract Domains;2020-11-17