• DocumentCode
    2140291
  • Title

    Program Analysis Too Loopy? Set the Loops Aside

  • Author

    Larson, Eric

  • Author_Institution
    Comput. Sci. & Software Eng., Seattle Univ., Seattle, WA, USA
  • fYear
    2011
  • fDate
    25-26 Sept. 2011
  • Firstpage
    15
  • Lastpage
    24
  • Abstract
    Among the many obstacles in efficient and sound program analysis, loops may be the most prevalent. In program analyses that traverse paths, loops introduce a variable, possibly infinite, number of paths. This paper looks at whether loops could be analyzed separately and replaced with a summary. First, the complexity of a loop is estimated by counting the paths through the body of the loop. 85% of the loops have fewer than ten paths and less than 1% have more than 10,000 paths. Second, the number of paths is computed by analyzing loops separately to assess the feasibility of such an analysis approach. While the number of paths is decreased in many cases, it is typically not sufficient for long, complex functions. Finally, loops are classified based on their stopping condition and further analyzed for programming elements that may make loop analysis more difficult. Nearly half of the loops are array traversals and over half of the loops contain a function call.
  • Keywords
    program diagnostics; loop analysis; program analysis; programming element; stopping condition; Algorithm design and analysis; Arrays; Complexity theory; Flexible printed circuits; Flow graphs; Programming; loops; paths; program analysis;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Source Code Analysis and Manipulation (SCAM), 2011 11th IEEE International Working Conference on
  • Conference_Location
    Williamsburg, VI
  • Print_ISBN
    978-1-4577-0932-6
  • Type

    conf

  • DOI
    10.1109/SCAM.2011.22
  • Filename
    6065193