Checking memory safety with BLAST
Beyer D, Henzinger TA, Jhala R, Majumdar R. 2005. Checking memory safety with BLAST. Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering. FASE: Fundamental Approaches To Software Engineering, LNCS, vol. 3442, 2–18.
Download
No fulltext has been uploaded. References only!
Conference Paper
| Published
| English
Author
Beyer, Dirk;
Henzinger, Thomas AISTA
;
Jhala, Ranjit;
Majumdar, Ritankar
Series Title
LNCS
Abstract
BLAST is an automatic verification tool for checking temporal safety properties of C programs. Given a C program and a temporal safety property, BLAST statically proves that either the program satisfies the safety property or the program has an execution trace that exhibits a violation of the property. BLAST constructs, explores, and refines abstractions of the program state space based on lazy predicate abstraction and interpolation-based predicate discovery. We show how BLAST can be used to statically prove memory safety for C programs. We take a two-step approach. First, we use Ccured, a type-based memory safety analyzer, to annotate with run-time checks all program points that cannot be proved memory safe by the type system. Second, we use BLAST to remove as many of the run-time checks as possible (by proving that these checks never fail), and to generate for the remaining run-time checks execution traces that witness them fail. Our experience shows that BLAST can remove many of the run-time checks added by Ccured and provide useful information to the programmer about many of the remaining checks.
Publishing Year
Date Published
2005-03-24
Proceedings Title
Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Publisher
Springer Nature
Acknowledgement
This research was supported in part by the NSF grants CCR-0234690, CCR-0225610, and ITR-0326577.
Volume
3442
Page
2 - 18
Conference
FASE: Fundamental Approaches To Software Engineering
Conference Location
Edinburgh, United Kingdom
Conference Date
2005-04-04 – 2005-04-08
ISBN
IST-REx-ID
Cite this
Beyer D, Henzinger TA, Jhala R, Majumdar R. Checking memory safety with BLAST. In: Proceedings of the 8th International Conference, Held as Part of the Joint European Conference on Theory and Practice of Software Conference on Fundamental Approaches to Software Engineering. Vol 3442. Springer Nature; 2005:2-18. doi:10.1007/978-3-540-31984-9_2
Beyer, D., Henzinger, T. A., Jhala, R., & Majumdar, R. (2005). Checking memory safety with BLAST. In Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering (Vol. 3442, pp. 2–18). Edinburgh, United Kingdom: Springer Nature. https://doi.org/10.1007/978-3-540-31984-9_2
Beyer, Dirk, Thomas A Henzinger, Ranjit Jhala, and Ritankar Majumdar. “Checking Memory Safety with BLAST.” In Proceedings of the 8th International Conference, Held as Part of the Joint European Conference on Theory and Practice of Software Conference on Fundamental Approaches to Software Engineering, 3442:2–18. Springer Nature, 2005. https://doi.org/10.1007/978-3-540-31984-9_2.
D. Beyer, T. A. Henzinger, R. Jhala, and R. Majumdar, “Checking memory safety with BLAST,” in Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering, Edinburgh, United Kingdom, 2005, vol. 3442, pp. 2–18.
Beyer D, Henzinger TA, Jhala R, Majumdar R. 2005. Checking memory safety with BLAST. Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering. FASE: Fundamental Approaches To Software Engineering, LNCS, vol. 3442, 2–18.
Beyer, Dirk, et al. “Checking Memory Safety with BLAST.” Proceedings of the 8th International Conference, Held as Part of the Joint European Conference on Theory and Practice of Software Conference on Fundamental Approaches to Software Engineering, vol. 3442, Springer Nature, 2005, pp. 2–18, doi:10.1007/978-3-540-31984-9_2.