2012
DOI: 10.1002/spe.2105
|View full text |Cite
|
Sign up to set email alerts
|

MemSafe: ensuring the spatial and temporal memory safety of C at runtime

Abstract: SUMMARYMemory access violations are a leading source of unreliability in C programs. As evidence of this problem, a variety of methods exist that retrofit C with software checks to detect memory errors at runtime. However, these methods generally suffer from one or more drawbacks including the inability to detect all errors, the use of incompatible metadata, the need for manual code modifications, and high runtime overheads. This paper presents a compiler analysis and transformation for ensuring the memory saf… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
24
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 47 publications
(25 citation statements)
references
References 48 publications
(88 reference statements)
0
24
0
Order By: Relevance
“…They include safe dialects of C, specific fail-safe C compilers and memory safety verification tools for C code. In particular, the idea to store object metadata on valid memory blocks in a separate database was previously exploited in [13,21,27,10,1] and appeared welladapted for most spatial errors (that is, accesses outside the bounds [24]). Advantages of these solutions include relative efficiency (propagation of pointer metadata at each pointer assignment is not required) and compatibility (the memory layout of objects is preserved).…”
Section: Related Workmentioning
confidence: 99%
“…They include safe dialects of C, specific fail-safe C compilers and memory safety verification tools for C code. In particular, the idea to store object metadata on valid memory blocks in a separate database was previously exploited in [13,21,27,10,1] and appeared welladapted for most spatial errors (that is, accesses outside the bounds [24]). Advantages of these solutions include relative efficiency (propagation of pointer metadata at each pointer assignment is not required) and compatibility (the memory layout of objects is preserved).…”
Section: Related Workmentioning
confidence: 99%
“…A softwarebased approach analogous to HardBound was explored in SoftBound [17]. MemSafe [25] extends this idea by using static analysis to prove memory accesses safe. ConSeq [29] identifies code locations, such as assertions or reads of key global variables.…”
Section: Related Workmentioning
confidence: 99%
“…Nevertheless, there exist several efforts to protect C programs against out-of-bounds accesses [1,13,22,29,30]. These projects change the memory allocation library used by C programs using different approaches: splay trees [13], shadowing [29], size information indexed through tables [22,30], validation through alignment constraints [1], etc. Our work is complementary to this previous research.…”
Section: Related Workmentioning
confidence: 99%