# Faultless: A Program Equivalence Technique for Validating and Evaluating Neural Decompilers

> Compares neural-decompiler C output with deterministic decompilation or reference functions using symbolic execution and a specialized memory model. It supports both analyst-facing validation and model evaluation without requiring the surrounding codebase.

- Authors: Luke Dramko; Claire Le Goues; Edward Schwartz
- Venue: arXiv
- Status: Preprint
- Publication / posting date: September 28, 2026
- Date source: arXiv v1 submission date; no formal publication venue was verified.
- First arXiv submission: September 28, 2026
- arXiv: 2609.34089
- Reviewed arXiv version: v1
- DOI: 10.48550/arxiv.2609.34089
- Sources reviewed: 2026-10-20
- Added to the catalog: 2026-10-20
- Original paper: <https://arxiv.org/abs/2609.34089>
- PDF: <https://arxiv.org/pdf/2609.34089v1>
- Code: <https://github.com/squaresLab/faultless>
- BibTeX: <https://awesomerea.org/papers/citations/paper-faultless.bib>
- Catalog page: <https://awesomerea.org/papers/paper-faultless/>
- Record JSON: <https://awesomerea.org/papers/paper-faultless/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/papers/paper-faultless/index.md)

## Scope and limitations

Function-level checks abstract away side-effect ordering and some compiler details; configurable options further relax return, argument and type conditions. The implementation has explicit heap-related soundness limitations and requires compatible loop structure; unsupported C features and context-independent dependency assumptions also limit coverage. Failure to establish equivalence is not proof of inequivalence. Evaluations use filtered realtype and ExeBench pairs, not unrestricted whole-program equivalence.

## Why it fits this collection

Adds a concrete validation method for recovered code while exposing the assumptions and unsound cases hidden by an unconditional equivalence label.

## Publication and review notes

The three-author order and first-submission date follow arXiv v1. DataCite records the arXiv DOI as findable, registered on 2026-09-29, despite the abstract page’s pending-registration label. The paper is CC BY-SA 4.0. The author-linked public repository was reviewed at 059023d874f4103b5e645a9d6d6ddbdb2bbb6da0; its root license is MIT and README calls the Python/tree-sitter/Z3 implementation a proof of concept.

## Primary sources

1. <https://arxiv.org/abs/2609.34089>
2. <https://arxiv.org/html/2609.34089v1>
3. <https://api.datacite.org/dois/10.48550/arxiv.2609.34089>
4. <https://github.com/squaresLab/faultless>
5. <https://github.com/squaresLab/faultless/blob/059023d874f4103b5e645a9d6d6ddbdb2bbb6da0/README.md>
6. <https://github.com/squaresLab/faultless/blob/059023d874f4103b5e645a9d6d6ddbdb2bbb6da0/LICENSE>
7. <https://github.com/squaresLab/faultless/blob/059023d874f4103b5e645a9d6d6ddbdb2bbb6da0/pyproject.toml>

## About this entry

Reviewed against the paper and its primary sources. Cite the original authors using the linked paper or BibTeX.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
