DocumentCode
3008165
Title
User-Input Dependence Analysis via Graph Reachability
Author
Scholz, Bernhard ; Zhang, Chenyi ; Cifuentes, Cristina
Author_Institution
Sun Microsyst. Labs., Brisbane, QLD
fYear
2008
fDate
28-29 Sept. 2008
Firstpage
25
Lastpage
34
Abstract
Bug-checking tools have been used with some success in recent years to find bugs in software. For finding bugs that can cause security vulnerabilities, bug checking tools require a program analysis which determines whether a software bug can be controlled by user-input. In this paper we introduce a static program analysis for computing user-input dependencies. This analysis can be used as a pre-processing filter to a static bug checking tool for identifying bugs that can potentially be exploited as security vulnerabilities. In order for the analysis to be applicable to large commercial software in the millions of lines of code, runtime speed and scalability of the user-input dependence analysis is of key importance. Our user-input dependence analysis takes both data and control dependencies into account. We extend static single assignment (SSA) form by augmenting phi-nodes with control dependencies. A formal definition of user-input dependence is expressed in a dataflow analysis framework as a meet-over-all-paths (MOP) solution. We reduce the equation system to a sparse equation system exploiting the properties of SSA. The sparse equation system is solved as a reachability problem that results in a fast algorithm for computing user-input dependencies. We have implemented a call-insensitive and a call-sensitive analysis. The paper gives preliminary results on the comparison of their efficiency for various benchmarks.
Keywords
program debugging; program diagnostics; reachability analysis; dataflow analysis; graph reachability; meet-over-all-paths solution; software bug-checking tool; sparse equation system; static program analysis; static single assignment; user-input dependence analysis; Computer bugs; Computer worms; Data analysis; Data security; Equations; Inspection; Runtime; Software tools; Sun; Testing; Static single assignment form; static taint analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Source Code Analysis and Manipulation, 2008 Eighth IEEE International Working Conference on
Conference_Location
Beijing
Print_ISBN
978-0-7695-3353-7
Type
conf
DOI
10.1109/SCAM.2008.22
Filename
4637536
Link To Document