Score: 1

Efficient compilation and execution of synchronous programs via type-state programming

Published: August 2, 2025 | arXiv ID: 2508.01199v1

By: Avinash Malik

Potential Business Impact:

Compiles safety code faster and smaller.

Synchronous programs are used extensively in implementation of safety critical embedded software. Imperative synchronous programming languages model multiple Finite State Machines (FSMs) executing in lockstep at logical clock ticks. The synchronous view of time along with the FSM based design enables easier formal verification. The synchronous composition of multiple FSMs, during compilation, results in the well known state space explosion problem. Hence, efficiently compiling imperative synchronous programs into small and fast executables is challenging. This paper introduces a novel linear time compilation technique for automata based compilation of synchronous programs. Graph based rewrite rules for kernel programming constructs are introduced. A linear time algorithm applies these rules to produce a FSM. The FSM is then encoded into a type-state program using template meta-programming in C++. Experimental results show that the compilation time and generated binary size is comparable, while the execution times are on average 31-60% faster than current state-of-the-art compilers.

Country of Origin
🇳🇿 New Zealand

Page Count
10 pages

Category
Computer Science:
Programming Languages