Abstract
This paper presents a new synthesis-based approach for writing low-level memory-safe code. Given a partial program with missing guards, our algorithm synthesizes concrete predicates to plug in for the missing guards such that all buffer accesses in the program are memory safe. Furthermore, guards synthesized by our technique are the simplest and weakest among guards that guarantee memory safety, relative to the inferred loop invariants. Our approach is fully automatic and does not require any hints from the user. We have implemented our algorithm in a prototype synthesis tool for C programs, and we show that the proposed approach is able to successfully synthesize guards that closely match hand-written programmer code in a set of real-world C programs. © 2014 Springer International Publishing.
Cite
CITATION STYLE
Dillig, T., Dillig, I., & Chaudhuri, S. (2014). Optimal guard synthesis for memory safety. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8559 LNCS, pp. 491–507). Springer Verlag. https://doi.org/10.1007/978-3-319-08867-9_32
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.