Transition-Oriented Programming: Developing Verifiable Systems
It is extremely challenging to develop verifiable systems that are regulated by formal specifications and checked by formal verification techniques in practice. Although formal verification has made significant progress over the past decades, the issue caused by the gulf between the system implementation and formal verification still has a huge cost. To fundamentally solve the issue, we propose transition-oriented programming (TOP), a novel programming paradigm, to instruct developers to develop verifiable systems by thinking in a formal way. TOP introduces the theories of the transition system as the joint of the implementation and formal verification to promote formal thinking during development. Furthermore, we propose a novel programming language named Seni to support the TOP features. We argue that TOP is useful and usable to develop verifiable systems in a wide range of fields.
READ FULL TEXT