• DocumentCode
    2155063
  • Title

    A plethora of paths

  • Author

    Larson, Eric

  • Author_Institution
    Seattle Univ., Seattle, WA
  • fYear
    2009
  • fDate
    17-19 May 2009
  • Firstpage
    40
  • Lastpage
    49
  • Abstract
    A common static software bug detection technique is to use path simulation. Each execution path is simulated using symbolic variables to determine if any software errors could occur. The scalability of this and other path-based approaches is dependent on the number of paths in the program. This paper explores the number of paths in 15 different programs. Often, there are one or two functions that contribute a large percentage of the paths within a program. A unique aspect in this study is that slicing was used in different ways to determine its effect on the path count. In particular, slicing was applied to each interesting statement individually to determine if that statement could be analyzed without suffering from path explosion. Results show that slicing is only effective if it can completely slices away a function that suffers from path explosion. While most programs had several statements that resulted in short path counts, slicing was not adequate in eliminating path explosion occurrences. Looking into the tasks that suffer from path explosion, we find that functions that process input, produce stylized output, or parse strings or code often have significantly more paths than other functions.
  • Keywords
    digital simulation; program debugging; program slicing; program verification; path simulation; plethora; program slicing; program verification; software bug detection technique; static analysis; Computer bugs; Explosions; Flow graphs; Law; Legal factors; Performance analysis; Scalability; Software safety; Software testing; Software tools;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension, 2009. ICPC '09. IEEE 17th International Conference on
  • Conference_Location
    Vancouver, BC
  • ISSN
    1092-8138
  • Print_ISBN
    978-1-4244-3998-0
  • Electronic_ISBN
    1092-8138
  • Type

    conf

  • DOI
    10.1109/ICPC.2009.5090026
  • Filename
    5090026