Henzinger, Thomas AIST Austria ; Necula, George C; Jhala, Ranjit; Sutre, Grégoire; Majumdar, Ritankar S; Weimer, Westley
We present a methodology and tool for verifying and certifying systems code. The verification is based on the lazy-abstraction paradigm for intertwining the following three logical steps: construct a predicate abstraction from the code, model check the abstraction, and automatically refine the abstraction based on counterexample analysis. The certification is based on the proof-carrying code paradigm. Lazy abstraction enables the automatic construction of small proof certificates. The methodology is implemented in Blast, the Berkeley Lazy Abstraction Software verification Tool. We describe our experience applying Blast to Linux and Windows device drivers. Given the C code for a driver and for a temporal-safety monitor, Blast automatically generates an easily checkable correctness certificate if the driver satisfies the specification, and an error trace otherwise.
This work was supported in part by the NSF ITR grants CCR-0085949, CCR-0081588, the NSF Career grant CCR-9875171, the DARPA PCES grant F33615-00-C-1693, the MARCO GSRC grant 98-DT-660, the SRC contract 99-TJ-683, a Microsoft fellowship, and gifts from AT&T Research and Microsoft Research.
526 - 538
CAV: Computer Aided Verification
Henzinger TA, Necula G, Jhala R, Sutre G, Majumdar R, Weimer W. Temporal safety proofs for systems code. In: Vol 2404. Springer; 2002:526-538. doi:10.1007/3-540-45657-0_45
Henzinger, T. A., Necula, G., Jhala, R., Sutre, G., Majumdar, R., & Weimer, W. (2002). Temporal safety proofs for systems code (Vol. 2404, pp. 526–538). Presented at the CAV: Computer Aided Verification, Springer. https://doi.org/10.1007/3-540-45657-0_45
Henzinger, Thomas A, George Necula, Ranjit Jhala, Grégoire Sutre, Ritankar Majumdar, and Westley Weimer. “Temporal Safety Proofs for Systems Code,” 2404:526–38. Springer, 2002. https://doi.org/10.1007/3-540-45657-0_45.
T. A. Henzinger, G. Necula, R. Jhala, G. Sutre, R. Majumdar, and W. Weimer, “Temporal safety proofs for systems code,” presented at the CAV: Computer Aided Verification, 2002, vol. 2404, pp. 526–538.
Henzinger TA, Necula G, Jhala R, Sutre G, Majumdar R, Weimer W. 2002. Temporal safety proofs for systems code. CAV: Computer Aided Verification, LNCS, vol. 2404. 526–538.
Henzinger, Thomas A., et al. Temporal Safety Proofs for Systems Code. Vol. 2404, Springer, 2002, pp. 526–38, doi:10.1007/3-540-45657-0_45.