OESPA:A Theory of Programming that Support Software Engineering
Sen Ma

TL;DR
This paper introduces OESPA, a comprehensive theoretical framework for programming that unifies syntax, semantics, and property analysis, enabling formal reasoning about program correctness and properties.
Contribution
It presents a novel theory combining syntax, semantics, and property analysis for programming, filling a gap in formal specification and verification in software engineering.
Findings
Defines OE syntax and semantics with axioms
Introduces SP for describing program properties
Proposes SP calculus for program analysis
Abstract
A new theory of programming is proposed. The theory consists of OE (Operation Expression), SP (Semantic Predicate) and A (Axiom), abbreviated as OESPA. OE is for programming: its syntax is given by BNF formulas and its semantics is defined by axioms on these formulas. Similar to predicates in logic, SP is for describing properties of OE (i.e. programs) and for program property analysis. But SP is different from predicates, it directly relates the final values of variables upon termination of a given OE with initial values of these variables before the same OE. As such, it is feasible to prove or disprove whether a given SP is a property of a given OE by computation based on A (Axioms). SP calculus is proposed for program specification and specification analysis, that is missing in software engineering.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Logic, programming, and type systems · Software Testing and Debugging Techniques
