• 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