Using ACL2 in the Design of Efficient, Verifiable Data Structures for High-Assurance Systems
David Hardin (Rockwell Collins), Konrad Slind (Rockwell Collins)

TL;DR
This paper presents a method using ACL2 to design and verify efficient, array-based data structures suitable for high-assurance autonomous systems, supporting code generation for various platforms.
Contribution
We developed a verifying compilation technique that enables efficient, verifiable data structures in ACL2, bridging the gap between functional proofs and practical implementations.
Findings
Verified array-based data structures in ACL2
Supported code generation to mainstream languages
Enabled hardware and GPU realizations
Abstract
Verification of algorithms and data structures utilized in modern autonomous and semi-autonomous vehicles for land, sea, air, and space presents a significant challenge. Autonomy algorithms, e.g., route planning, pattern matching, and inference, are based on complex data structures such as directed graphs and algebraic data types. Proof techniques for these data structures exist, but are oriented to unbounded, functional realizations, which are not typically efficient in either space or time. Autonomous systems designers, on the other hand, generally limit the space and time allocations for any given function, and require that algorithms deliver results within a finite time, or suffer a watchdog timeout. Furthermore, high-assurance design rules frown on dynamic memory allocation, preferring simple array-based data structure implementations. In order to provide efficient…
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 · Safety Systems Engineering in Autonomy · Software Testing and Debugging Techniques
