A Unit Proofing Framework for Code-level Verification: A Research Agenda

📅 2024-10-18
📈 Citations: 2
Influential: 0
📄 PDF

career value

162K/year
🤖 AI Summary
Existing code-level formal verification tools scale poorly to large-scale software, while mainstream unit-level verification relies heavily on manual effort, often missing critical defects. This paper proposes the “Unit Proof Framework” research agenda—the first systematic definition of a unit verification paradigm supporting automated decoupling and independent verification of code units. Methodologically, it integrates formal verification, program analysis, modular verification, and automated toolchain design, with deep alignment to industrial development practices (e.g., AWS workflows). Its core contributions include: (1) establishing a scalable, engineering-friendly unit verification methodology; (2) characterizing a taxonomy of key technical challenges; (3) overcoming bottlenecks inherent in manual verification; and (4) significantly improving early detection of code-level defects. Collectively, this work lays the theoretical foundation and provides a practical technical pathway for building high-assurance, deployable automated verification infrastructure.

Technology Category

Application Category

📝 Abstract
Formal verification provides mathematical guarantees that a software is correct. Design-level verification tools ensure software specifications are correct, but they do not expose defects in actual implementations. For this purpose, engineers use code-level tools. However, such tools struggle to scale to large software. The process of"Unit Proofing"mitigates this by decomposing the software and verifying each unit independently. We examined AWS's use of unit proofing and observed that current approaches are manual and prone to faults that mask severe defects. We propose a research agenda for a unit proofing framework, both methods and tools, to support software engineers in applying unit proofing effectively and efficiently. This will enable engineers to discover code-level defects early.
Problem

Research questions and friction points this paper is trying to address.

Ensuring code-level correctness in large-scale software
Automating unit proofing to reduce manual errors
Early detection of implementation defects in verification
Innovation

Methods, ideas, or system contributions that make the work stand out.

Unit Proofing decomposes software for independent verification
Automated framework replaces manual fault-prone methods
Early detection of code-level defects in large software
P
Paschal C. Amusuo
Purdue University
P
Parth V. Patil
Purdue University
O
Owen Cochell
Michigan State University
T
Taylor Le Lievre
Purdue University
J
James C. Davis
Purdue University