• DocumentCode
    2074717
  • Title

    Practical fault localization for dynamic web applications

  • Author

    Artzi, Shay ; Dolby, Julian ; Tip, Frank ; Pistoia, Marco

  • Author_Institution
    T.J. Watson Res. Center, IBM, Yorktown Heights, NY, USA
  • Volume
    1
  • fYear
    2010
  • fDate
    2-8 May 2010
  • Firstpage
    265
  • Lastpage
    274
  • Abstract
    We leverage combined concrete and symbolic execution and several fault-localization techniques to create a uniquely powerful tool for localizing faults in PHP applications. The tool automatically generates tests that expose failures, and then automatically localizes the faults responsible for those failures, thus overcoming the limitation of previous fault-localization techniques that a test suite be available upfront. The fault-localization techniques we employ combine variations on the Tarantula algorithm with a technique based on maintaining a mapping between statements and the fragments of output they produce. We implemented these techniques in a tool called Apollo, and evaluated them by localizing 75 randomly selected faults that were exposed by automatically generated tests in four PHP applications. Our findings indicate that, using our best technique, 87.7% of the faults under consideration are localized to within 1% of all executed statements, which constitutes an almost five-fold improvement over the Tarantula algorithm.
  • Keywords
    program testing; software fault tolerance; Tarantula algorithm; concrete execution; dynamic Web applications; practical fault localization; symbolic execution; Browsers; Concrete; Databases; HTML; Open source software; Servers;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2010 ACM/IEEE 32nd International Conference on
  • Conference_Location
    Cape Town
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-60558-719-6
  • Type

    conf

  • DOI
    10.1145/1806799.1806840
  • Filename
    6062094