From Boolean Functional Equations to Control Software
Federico Mari, Igor Melatti, Ivano Salvo, Enrico Tronci

TL;DR
This paper introduces an algorithm that converts boolean relations into efficient C code implementations with controlled size and execution time, addressing a gap in software synthesis methods compared to hardware synthesis.
Contribution
It presents a novel algorithm that generates C code from OBDD representations of boolean relations, optimizing for size and worst-case execution time in software synthesis.
Findings
Generates C code with size comparable to OBDD for F
Achieves worst-case execution time at most O(nr)
Addresses a gap in software synthesis methods
Abstract
Many software as well digital hardware automatic synthesis methods define the set of implementations meeting the given system specifications with a boolean relation K. In such a context a fundamental step in the software (hardware) synthesis process is finding effective solutions to the functional equation defined by K. This entails finding a (set of) boolean function(s) F (typically represented using OBDDs, Ordered Binary Decision Diagrams) such that: 1) for all x for which K is satisfiable, K(x, F(x)) = 1 holds; 2) the implementation of F is efficient with respect to given implementation parameters such as code size or execution time. While this problem has been widely studied in digital hardware synthesis, little has been done in a software synthesis context. Unfortunately the approaches developed for hardware synthesis cannot be directly used in a software context. This motivates…
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
TopicsFormal Methods in Verification · Real-Time Systems Scheduling · Logic, programming, and type systems
