IronSpec: Increasing the Reliability of Formal Specifications
Eli Goldweber, Weixin Yu, Seyed Armin Vakil-Ghahani, Manos Kapritsos
Abstract
The guarantees of formally verified systems are only as strong as their trusted specifications (specs). As observed by previous studies [22,52], bugs in formal specs invalidate the assurances that proofs provide. Unfortunately, specs-by their very nature-cannot be proven correct. Currently, the only way to identify spec bugs is by careful, manual inspection.
In this paper we introduce IronSpec, a framework of automatic and manual techniques to increase the reliability of formal specifications. IronSpec draws inspiration from classical software testing practices, which we adapt to the realm of formal specs. IronSpec facilitates spec testing with automated sanity checking, a methodology for writing Spec-Testing Proofs (STPs), and automated spec mutation testing.
We evaluate IronSpec on 14 specs, including six specs of real-world verified codebases. Our results show that IronSpec is effective at flagging discrepancies between the spec and the developer's intent, and has led to the discovery of ten specification bugs across all six real-world verified systems.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 45f6024a-55dd-4ae0-8d54-11eccada9f70Cited by top-tier papers5
- Faster Explicit-Trace Monitoring-Oriented Programming for Runtime Verification of Software TestsKevin Guan, Marcelo d'Amorim, Owolabi LegunsenOOPSLA 2025 · 7 citations
- Instrumentation-Driven Evolution-Aware Runtime VerificationKevin Guan, Owolabi LegunsenICSE 2025 · 4 citations
- On the Impact of Formal Verification on Software DevelopmentEric Mugnier, Yuanyuan Zhou, Ranjit Jhala, Michael CoblenzOOPSLA 2025
- Detecting Inconsistencies in Arm CCA's Formally Verified SpecificationChangho Choi, Xiang Cheng, Bokdeuk Jeong, Taesoo KimASPLOS 2026
- MutDafny: A Mutation-Based Approach to Assess Dafny SpecificationsIsabel Amaral, Alexandra Mendes, José CamposICSE 2026
Builds on3
- Storage Systems are Distributed Systems (So Verify Them That Way!)Travis Hance, Andrea Lattuada, Chris Hawblitzel, Jon Howell et al.OSDI 2020 · 52 citations
- Verifying the DaisyNFS concurrent and crash-safe file system with sequential reasoningTej Chajed, Joseph Tassarotti, Mark Theng, M. Frans Kaashoek et al.OSDI 2022 · 25 citations
- Testing Dafny (experience paper)Ahmed Irfan, Sorawee Porncharoenwase, Zvonimir Rakamaric, Neha Rungta et al.ISSTA 2022 · 15 citations
Related papers
- Finding Specification Blind Spots via Fuzz TestingRu Ji, Meng XuS&P 2023
- Specification and verification in the field: Applying formal methods to BPF just-in-time compilers in the Linux kernelLuke Nelson, Jacob Van Geffen, Emina Torlak, Xi WangOSDI 2020 · 72 citations
- eBPF Misbehavior Detection: Fuzzing with a Specification-Based OracleTao Lyu, Kumar Kartikeya Dwivedi, Thomas Bourgeat, Mathias Payer et al.SOSP 2025
- C2S: translating natural language comments to formal program specificationsJuan Zhai, Yu Shi, Minxue Pan, Guian Zhou et al.FSE 2020 · 44 citations
- WebSpec: Towards Machine-Checked Analysis of Browser Security MechanismsLorenzo Veronese, Benjamin Farinier, Pedro Bernardo, Mauro Tempesta et al.S&P 2023
