2014
DOI: 10.1007/978-3-319-08867-9_32
|View full text |Cite
|
Sign up to set email alerts
|

Optimal Guard Synthesis for Memory Safety

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 us… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
9
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 16 publications
(9 citation statements)
references
References 43 publications
0
9
0
Order By: Relevance
“…Klein et al [35] prove the correctness of the seL4 kernel, but that code was written with the goal of proof. Dillig et al [26] synthesize guards ensuring memory safety in low-level code, but our code is written by hand. Rakamarić and Hu [50] developed a conservative, scalable approach to memory safety in low-level code, but the models there are not tailored to our code that routinely accesses memory by an explicit integer-valued memory address.…”
Section: Related Workmentioning
confidence: 99%
“…Klein et al [35] prove the correctness of the seL4 kernel, but that code was written with the goal of proof. Dillig et al [26] synthesize guards ensuring memory safety in low-level code, but our code is written by hand. Rakamarić and Hu [50] developed a conservative, scalable approach to memory safety in low-level code, but the models there are not tailored to our code that routinely accesses memory by an explicit integer-valued memory address.…”
Section: Related Workmentioning
confidence: 99%
“…Hence, our approach bears similarity to other efforts for optimal program synthesis [5,6,8]. In addition to addressing a different synthesis domain, we propose a different definition of optimality in this paper.…”
Section: Related Workmentioning
confidence: 99%
“…Klein et al [38] prove the correctness of the seL4 kernel, but that code was written with the goal of proof. Dillig et al [26] synthesize guards ensuring memory safety in low-level code, but our code is written by hand. Rakamarić and Hu [50] developed a conservative, scalable approach to memory safety in low-level code, but the models there are not tailored to our code that routinely accesses memory by an explicit integer-valued memory address.…”
Section: Related Workmentioning
confidence: 99%