Semantics of Sets of Programs

📅 2024-10-21
🏛️ Proc. ACM Program. Lang.
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
Precise verification of global properties for infinite program families—syntactically defined and potentially containing cycles—remains challenging due to semantic ambiguity and undecidability. Method: We propose the first minimal, compositional denotational semantics framework for such families and, based thereon, develop the first Hoare-style logic that is both sound and relatively complete for infinite program families. Contribution/Results: Our key innovation is a rigorous characterization of behavioral discrimination power along unbounded execution paths, proven necessary and sufficient for exact verification. The resulting logic enables syntax-driven, compositional reasoning, significantly improving verification precision and applicability. This work establishes a rigorous, low-complexity theoretical foundation for semantic modeling, formal verification, and program synthesis of infinite program families.

Technology Category

Knowledge Representation and Reasoning: Logic ProgrammingReasoning under Uncertainty: Other Foundations of Reasoning under UncertaintyConstraint Satisfaction and Optimization: Satisfiability Modulo Theories

Application Category

Semantics and Knowledge: Methods, algorithms and applications for the development of semantic models, knowledge graphs and other forms of structured data models with machine-interpretable semanticsGraph Algorithms and Modeling for the Web: Algorithms and analysis for incomplete, noisy, or partially observed Web-related graphsSystems and Infrastructure for Web, Mobile and WoT: Web performance, measurement, and characterization
📝 Abstract
Applications like program synthesis sometimes require proving that a property holds for all of the infinitely many programs described by a grammar---i.e., an inductively defined set of programs. Current verification frameworks overapproximate programs' behavior when sets of programs contain loops, including two Hoare-style logics that fail to be relatively complete when loops are allowed. In this work, we prove that compositionally verifying simple properties for infinite sets of programs requires tracking distinct program behaviors over unboundedly many executions. Tracking this information is both necessary and sufficient for verification. We prove this fact in a general, reusable theory of denotational semantics that can model the expressivity and compositionality of verification techniques over infinite sets of programs. We construct the minimal compositional semantics that captures simple properties of sets of programs and use it to derive the first sound and relatively complete Hoare-style logic for infinite sets of programs. Thus, our methods can be used to design minimally complex, compositional verification techniques for sets of programs.
Problem

Research questions and friction points this paper is trying to address.

Proving properties for infinite sets of programs
Tracking behaviors over unbounded executions for verification
Designing complete Hoare-style logic for program sets
Innovation

Methods, ideas, or system contributions that make the work stand out.

Compositional semantics for infinite program sets
Minimal semantics for simple program properties
Complete Hoare logic for infinite programs
🔎 Similar Papers
University of California San Diego | University of Wisconsin-Madison
J
Jinwoo Kim
University of California San Diego, USA
S
Shaan Nagy
University of California San Diego, USA
T
Thomas W. Reps
University of Wisconsin-Madison, USA
L
Loris D'antoni
University of California San Diego, USA