Galapagos: Automated N-Version Programming with LLMs
Javier Ron, Diogo Gaspar, Javier Cabrera-Arteaga, Benoit Baudry, Martin Monperrus

TL;DR
This paper introduces Galápagos, a tool that automates the generation of diverse, functionally equivalent program variants using large language models, enhancing fault tolerance and bug protection in software systems.
Contribution
Galápagos demonstrates automated creation and validation of diverse program variants with LLMs, enabling practical N-Version programming for fault tolerance.
Findings
Galápagos can produce functionally equivalent variants in different languages.
Variants are statically different and behave divergently at runtime.
The approach protects against real compiler miscompilation bugs.
Abstract
N-Version Programming is a well-known methodology for developing fault-tolerant systems. It achieves fault detection and correction at runtime by adding diverse redundancy into programs, minimizing fault mode overlap between redundant program variants. In this work, we propose the automated generation of program variants using large language models. We design, develop and evaluate Gal\'apagos: a tool for generating program variants using LLMs, validating their correctness and equivalence, and using them to assemble N-Version binaries. We evaluate Gal\'apagos by creating N-Version components of real-world C code. Our original results show that Gal\'apagos can produce program variants that are proven to be functionally equivalent, even when the variants are written in a different programming language. Our systematic diversity measurement indicates that functionally equivalent variants…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques
