Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization 2014
DOI: 10.1145/2544137.2544154
|View full text |Cite
|
Sign up to set email alerts
|

Accelerating Dynamic Detection of Uses of Undefined Values with Static Value-Flow Analysis

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2019
2019
2022
2022

Publication Types

Select...
3
2
1

Relationship

3
3

Authors

Journals

citations
Cited by 13 publications
(6 citation statements)
references
References 40 publications
0
6
0
Order By: Relevance
“…By explicitly modelling the definition-use relations among program variables, valueflow analysis enables or enhances a series of crucial tasks, including compiler optimization [7,67], pointer analysis [40,51,62,69,70,73,74], bug detection [14,71], software debugging [80,82], and validation and verification [19,21]. In recent years, for example, the potential for value-flow analysis has been widely explored in detecting a variety of critical bugs, including memory leaks [14,71], uses of uninitialized variables [46,91], use-after-free errors [61,90], and information leaks [5,26]. While many existing approaches track the flow of values iteratively at each program point along the control-flow [6,57,63,64], VFIX uses a fully-sparse value-flow analysis for both variables and fields.…”
Section: B Value-flow Analysismentioning
confidence: 99%
“…By explicitly modelling the definition-use relations among program variables, valueflow analysis enables or enhances a series of crucial tasks, including compiler optimization [7,67], pointer analysis [40,51,62,69,70,73,74], bug detection [14,71], software debugging [80,82], and validation and verification [19,21]. In recent years, for example, the potential for value-flow analysis has been widely explored in detecting a variety of critical bugs, including memory leaks [14,71], uses of uninitialized variables [46,91], use-after-free errors [61,90], and information leaks [5,26]. While many existing approaches track the flow of values iteratively at each program point along the control-flow [6,57,63,64], VFIX uses a fully-sparse value-flow analysis for both variables and fields.…”
Section: B Value-flow Analysismentioning
confidence: 99%
“…Dependence analyses are the cornerstones of many optimizations/analyses in compilers. For instance, dependences are used for Taint Analysis [10,11,12] to determine how program inputs may affect the program execution and exploit security vulnerabilities, Information Flow Tracking [13,14,15,16] to prevent confidential information from leaking, static Bug Detection [17,18] or code optimization and parallelization (e.g. the polyhedral model [19]).…”
Section: Dependence Analyses Techniquesmentioning
confidence: 99%
“…Pointer Analysis Substantial progress has been made for whole-program [35,26,49] and demand-driven [23,48,52] pointer analyses, with flow-sensitivity [22,34], call-sitesensitivity [42,60], object-sensitivity [39,55] and type-sensitivity [47,28]). These recent advances in both precision and scalability have resulted in their widespread adoption in detecting memory bugs [3,21], such as memory leaks [13,53], null dereferences [38,36], uninitialized variables [59,37] and buffer overflows [33,14], and typestate verification [20,16]. Recent pointer-analysis-based tools [46,56] can detect TH-safety violations with low false-positive rates, but at the expense of missing true bugs.…”
Section: Related Workmentioning
confidence: 99%
“…Memory errors can also be found by other techniques, such as data-flow analysis [43,18] and model checking [27,29,40]. Notably, pointer analysis [28,47,61,48,50] has recently made significant strides, providing a solid foundation for developing many pointer-analysis-based static analyses for detecting memory errors [13,33,46,56,59]. In this paper, we present a fully-automated pointer-analysis-based approach, called D 3 (a Disprover of Dangling pointer Dereferences), to verifying absence of (i.e., disproving presence of) dangling pointers on a per dereference basis.…”
Section: Introductionmentioning
confidence: 99%