An Abstract Programming System
David A. Plaisted
Abstract
The system PL permits the translation of abstract proofs of program correctness into programs in a variety of programming languages. A programming language satisfying certain axioms may be the target of such a translation. The system PL also permits the construction and proof of correctness of programs in an abstract programming language, and permits the translation of these programs into correct programs in a variety of languages. The abstract programming language has an imperative style of programming with assignment statements and side-effects, to allow the efficient generation of code. The abstract programs may be written by humans and then translated, avoiding the need to write the same program repeatedly in different languages or even the same language. This system uses classical logic, is conceptually simple, and permits reasoning about nonterminating programs using Scott-Strachey style denotational semantics.
Create a lesson
Related papers
Are We Just Applying LLMs? What SE Research Studies, Underexplores, and Could Do Next in the LLM Era
Zeinadsadat Saghi, Sadra Sabouri, Souti Chattopadhyay
Testing Processor Contracts in Speculative Decoding Engines
Tianyu Ding, Yaocheng Tong, Muzhi Yang et al.
Supporting Viewpoint Coordination for Compliance by Design with an Artifact Model for Regulatory Requirements Engineering
Oleksandr Kosenkov, Davide Fucci, Michael Unterkalmsteiner et al.
DistDebug-Bench: Can LLM Agents Diagnose Bugs in Distributed Systems?
Yuxuan Jiang, Chenglin Liu, John Rose et al.
uTECH Turbo-MOVES: The Intersection of Software Architectural Innovation and Sustainable Mobility Analysis
Cafer Avcı, Alireza Yazdiani, Roopak Srinivasan et al.
Specification-Driven Governance for Fairness-by-Design in Agentic Software Engineering: How Far Can We Go?
Alfonso Cannavale, Alessandra Parziale, Valeria Pontillo et al.