2006
DOI: 10.1145/1178625.1178628
|View full text |Cite
|
Sign up to set email alerts
|

Efficient path conditions in dependence graphs for software safety analysis

Abstract: A new method for software safety analysis is presented which uses program slicing and constraint solving to construct and analyze path conditions , conditions defined on a program's input variables which must hold for information flow between two points in a program. Path conditions are constructed from subgraphs of a program's dependence graph, specifically, slices and chops. The article describes how constraint solvers can be used to determine if a path condition is satisfiable and, i… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
132
0

Year Published

2006
2006
2019
2019

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 116 publications
(132 citation statements)
references
References 31 publications
0
132
0
Order By: Relevance
“…Snelting et al [28] make the observation that Program Dependence Graphs (PDGs) and noninterference are related in that dom(s 1 ) dom(s 2 ) implies s 1 / ∈ backslice(s 2 ), where backslice is maps each statement s to its static backwards slice. Based on this observation, Hammer et al [14] present an algorithm for verifying noninterference: For output statement s, backslice(s) must contain only statements whose security label is lower than s. Though promising, this approach has not been shown to scale.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Snelting et al [28] make the observation that Program Dependence Graphs (PDGs) and noninterference are related in that dom(s 1 ) dom(s 2 ) implies s 1 / ∈ backslice(s 2 ), where backslice is maps each statement s to its static backwards slice. Based on this observation, Hammer et al [14] present an algorithm for verifying noninterference: For output statement s, backslice(s) must contain only statements whose security label is lower than s. Though promising, this approach has not been shown to scale.…”
Section: Related Workmentioning
confidence: 99%
“…However, many of the published approaches are not readily applicable to industrial Web applications. Solutions based on type systems tend to be overly complex and conservative [34,20,27], and are therefore unlikely to enjoy broad adoption, whereas those based on program slicing are often unsound [33] or limited in scalability [14,28].…”
Section: Introductionmentioning
confidence: 99%
“…A more scalable but not fully path-sensitive approach is described by Snelting et al [20,17,19]. They compute the dependency between two program points y and x using the Program Dependence Graph (PDG) [11] and apply the following rule to remove spurious dependencies: I(y, x) ⇒ ∃v : PC(y, x), where I(y, x) stands for y influences x (i.e., there is a dependency at x on y),v is some assignment of values to program variables and PC(y, x) is the path condition from y to x.…”
Section: Related Workmentioning
confidence: 99%
“…1(a), [20,17,19] would proceed as follows. In the PDG there will be a dependency edge from 8 0∧PC(4, 8)))) 8 , which is not unsatisfiable.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation