Transition-Oriented Programming: Developing Provably Correct Systems
Yepeng Ding
TL;DR
This work introduces Transition-Oriented Programming (TOP), a unifying paradigm built on Graph Transition Systems (GTSs) to integrate correctness specification, verification, and implementation within a single formal framework. It formalizes varying computation models (transition and rewriting systems) and logics (temporal and equational) and then grounds TOP in the Seni language, which supports modularization, progressive specification, context perception, and automated proof techniques (bounded model checking and iterative deepening theorem proving). The approach aims to produce provably correct systems by ensuring that a provably correct specification also yields a provably correct implementation, demonstrated across distributed protocols, security infrastructures, and program analysis contexts. The paper also outlines TOD and TOPA as development and analysis workflows, and sketches broad future directions including toolchains for compiling, explainable AI, and hardware design, underpinned by extensions to Seni and external proof assistants.
Abstract
Correctness is a necessary condition for systems to be effective in meeting human demands, thus playing a critical role in system development. However, correctness often manifests as a nebulous concept in practice, leading to challenges in accurately creating specifications, effectively proving correctness satisfiability, and efficiently implementing correct systems. Motivated by tackling these challenges, this paper introduces Transition-Oriented Programming (TOP), a programming paradigm to facilitate the development of provably correct systems by intertwining correctness specification, verification, and implementation within a unified theoretical framework.
