Do Unit Proofs Work? An Empirical Study of Compositional Bounded Model Checking for Memory Safety Verification

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Amusuo, Paschal C., Cochell, Owen, Lievre, Taylor Le, Patil, Parth V., Machiry, Aravind, Davis, James C.
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912280011079680
author Amusuo, Paschal C.
Cochell, Owen
Lievre, Taylor Le
Patil, Parth V.
Machiry, Aravind
Davis, James C.
author_facet Amusuo, Paschal C.
Cochell, Owen
Lievre, Taylor Le
Patil, Parth V.
Machiry, Aravind
Davis, James C.
contents Memory safety defects pose a major threat to software reliability, enabling cyberattacks, outages, and crashes. To mitigate these risks, organizations adopt Compositional Bounded Model Checking (BMC), using unit proofs to formally verify memory safety. However, methods for creating unit proofs vary across organizations and are inconsistent within the same project, leading to errors and missed defects. In addition, unit proofing remains understudied, with no systematic development methods or empirical evaluations. This work presents the first empirical study on unit proofing for memory safety verification. We introduce a systematic method for creating unit proofs that leverages verification feedback and objective criteria. Using this approach, we develop 73 unit proofs for four embedded operating systems and evaluate their effectiveness, characteristics, cost, and generalizability. Our results show unit proofs are cost-effective, detecting 74\% of recreated defects, with an additional 9\% found with increased BMC bounds, and 19 new defects exposed. We also found that embedded software requires small unit proofs, which can be developed in 87 minutes and executed in 61 minutes on average. These findings provide practical guidance for engineers and empirical data to inform tooling design.
format Preprint
id arxiv_https___arxiv_org_abs_2503_13762
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Do Unit Proofs Work? An Empirical Study of Compositional Bounded Model Checking for Memory Safety Verification
Amusuo, Paschal C.
Cochell, Owen
Lievre, Taylor Le
Patil, Parth V.
Machiry, Aravind
Davis, James C.
Software Engineering
D.2.4; F.3.1
Memory safety defects pose a major threat to software reliability, enabling cyberattacks, outages, and crashes. To mitigate these risks, organizations adopt Compositional Bounded Model Checking (BMC), using unit proofs to formally verify memory safety. However, methods for creating unit proofs vary across organizations and are inconsistent within the same project, leading to errors and missed defects. In addition, unit proofing remains understudied, with no systematic development methods or empirical evaluations. This work presents the first empirical study on unit proofing for memory safety verification. We introduce a systematic method for creating unit proofs that leverages verification feedback and objective criteria. Using this approach, we develop 73 unit proofs for four embedded operating systems and evaluate their effectiveness, characteristics, cost, and generalizability. Our results show unit proofs are cost-effective, detecting 74\% of recreated defects, with an additional 9\% found with increased BMC bounds, and 19 new defects exposed. We also found that embedded software requires small unit proofs, which can be developed in 87 minutes and executed in 61 minutes on average. These findings provide practical guidance for engineers and empirical data to inform tooling design.
title Do Unit Proofs Work? An Empirical Study of Compositional Bounded Model Checking for Memory Safety Verification
topic Software Engineering
D.2.4; F.3.1
url https://arxiv.org/abs/2503.13762