Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2013
DOI: 10.1145/2429069.2429086
|View full text |Cite
|
Sign up to set email alerts
|

Inductive data flow graphs

Abstract: The correctness of a sequential program can be shown by the annotation of its control flow graph with inductive assertions. We propose inductive data flow graphs, data flow graphs with incorporated inductive assertions, as the basis of an approach to verifying concurrent programs. An inductive data flow graph accounts for a set of dependencies between program actions in interleaved thread executions, and therefore stands as a representation for the set of concurrent program traces which give rise to these depe… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
7
0

Year Published

2014
2014
2020
2020

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 34 publications
(7 citation statements)
references
References 34 publications
0
7
0
Order By: Relevance
“…A CFG is a directed graph in which each node represents a statement and each edge denotes the flow of control between statements within a function. A PDG is a directed graph representing dependencies of all nodes in the CFG towards each other [36]. Here, each node represents a statement and each edge represents the flow of control between statements within a function.…”
Section: Static Detection Model Based On Propositional Functionmentioning
confidence: 99%
“…A CFG is a directed graph in which each node represents a statement and each edge denotes the flow of control between statements within a function. A PDG is a directed graph representing dependencies of all nodes in the CFG towards each other [36]. Here, each node represents a statement and each edge represents the flow of control between statements within a function.…”
Section: Static Detection Model Based On Propositional Functionmentioning
confidence: 99%
“…Generalizations of good or bad program executions using partial orders have been previously used in the context of assertion checking or program synthesis [5,6,9]. The notion of trace robustness proposed in the context of weak memory models [3,4] compares a program running under a weak memory model with the same program running under Sequential Consistency (SC).…”
Section: Related Workmentioning
confidence: 99%
“…The challenge of sparse analysis in general is that the definition and use sets are not available prior to the analysis. The semisparse technique [Hardekopf and Lin 2009] solves this problem by exploiting the fact that def-use information for top-level variables (variables that are not address taken in the program) are available before the analysis. Thus, the technique performs sparse analysis on such variables while using the conventional nonsparse analysis on the other variables.…”
Section: Existing Sparse Analyses As Instancesmentioning
confidence: 99%
“…Sparse analysis with pointers has been recently proposed in efforts to improve the flow-sensitive pointer analysis Lin 2009, 2011;Li et al 2011]. Hardekopf and Lin [2009] presented the semisparse pointer analysis algorithm and showed, for the first time, that flow-sensitive pointer analysis can scale to large code bases (up to 474 KLOC). After that, flow-sensitive pointer analysis becomes scalable even to millions of lines of code via staged sparse analysis techniques [Hardekopf and Lin 2011;Li et al 2011].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation