Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages &Amp; Applications 2014
DOI: 10.1145/2660193.2660205
|View full text |Cite
|
Sign up to set email alerts
|

Validation of memory accesses through symbolic analyses

Abstract: The C programming language does not prevent out-ofbounds memory accesses. There exist several techniques to secure C programs; however, these methods tend to slow down these programs substantially, because they populate the binary code with runtime checks. To deal with this problem, we have designed and tested two static analyses -symbolic region and range analysis -which we combine to remove the majority of these guards. In addition to the analyses themselves, we bring two other contributions. First, we descr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
34
0

Year Published

2014
2014
2022
2022

Publication Types

Select...
3
3
1

Relationship

2
5

Authors

Journals

citations
Cited by 21 publications
(34 citation statements)
references
References 32 publications
0
34
0
Order By: Relevance
“…There is previous work that attempt to recognize programming events by means of border detection algorithms. This is, for instance, the approach of Silva et al [Silva et al (2014)], or Nazare et al [Nazaré et al (2014)]. The idea is simple: if we assume that the hardware consumes more energy when it runs a program, then we can expect an isolated, flat-topped hill on its energy skyline.…”
Section: Related Workmentioning
confidence: 99%
“…There is previous work that attempt to recognize programming events by means of border detection algorithms. This is, for instance, the approach of Silva et al [Silva et al (2014)], or Nazare et al [Nazaré et al (2014)]. The idea is simple: if we assume that the hardware consumes more energy when it runs a program, then we can expect an isolated, flat-topped hill on its energy skyline.…”
Section: Related Workmentioning
confidence: 99%
“…Since such domains might not be determined in terms of integer constants only, we shall found their definition on the notion of symbolic ranges [4]. As we want to simplify state constraints the most, we define them in terms of the symbolic range algebra proposed by Nazaré et al [14]. Our definitions are nonetheless significantly different, even though inspired from their work.…”
Section: State Constraintsmentioning
confidence: 99%
“…State Constraints as Symbolic Ranges with Runtime Checks Symbolic ranges capture most minimal requirements over the C left-values of a function precondition: for integer typed left-values, a symbolic range represents the integer variation domain, while for pointer typed left-values, it represents a region of valid offsets. They are commonly used in abstract interpreters for range [7,13] and region analysis [14,18], respectively.…”
Section: Lattice Of Symbolic Expression Rangesmentioning
confidence: 99%
“…As an example, currently we do not associate size information with array types, they are made plain pointers like int*. Yet, current state-of-the-art symbolic range analysis, à la Nazaré et al [Nazaré et al 2014] should let us associate conservative size expressions with such type; hence, giving us int [42] or int [N+M], for instance. As another example of future work, it might be possible to establish guarantees about the dynamic semantics of the partial program to be reconstructed.…”
Section: Final Thoughtsmentioning
confidence: 99%