• DocumentCode
    700363
  • Title

    Automated extraction of failure reproduction steps from user interaction traces

  • Author

    Roehm, Tobias ; Nosovic, Stefan ; Bruegge, Bernd

  • Author_Institution
    Tech. Univ. Munchen, Munich, Germany
  • fYear
    2015
  • fDate
    2-6 March 2015
  • Firstpage
    121
  • Lastpage
    130
  • Abstract
    Bug reports submitted by users and crash reports collected by crash reporting tools often lack information about reproduction steps, i.e. the steps necessary to reproduce a failure. Hence, developers have difficulties to reproduce field failures and might not be able to fix all reported bugs. We present an approach to automatically extract failure reproduction steps from user interaction traces. We capture interactions between a user and a WIMP GUI using a capture/replay tool. Then, we extract the minimal, failure-inducing subsequence of captured interaction traces. We use three algorithms to perform this extraction: Delta Debugging, Sequential Pattern Mining, and a combination of both. Delta Debugging automatically replays subsequences of an interaction trace to identify the minimal, failure-inducing subsequence. Sequential Pattern Mining identifies the common subsequence in interaction traces inducing the same failure. We evaluated our approach in a case study. We injected four bugs to the code of a mail client application, collected interaction traces of five participants trying to find these bugs, and applied the extraction algorithms. Delta Debugging extracted the minimal, failure-inducing interaction subsequence in 90% of all cases. Sequential Pattern Mining produced failure-inducing interaction sequences in 75% of all cases and removed on average 93% of unnecessary interactions, potentially enabling manual analysis by developers. Both algorithms complement each other because they are applicable in different contexts and can be combined to improve performance.
  • Keywords
    data mining; program debugging; software fault tolerance; software maintenance; WIMP GUI; automated extraction; bug reports; bugs code; capture/replay tool; captured interaction traces; crash reporting tools; crash reports; delta debugging; extraction algorithms; failure reproduction steps; failure-inducing interaction subsequence; interaction trace subsequences; sequential pattern mining; software evolution; software maintenance; user interaction traces; Algorithm design and analysis; Computer bugs; Data mining; Debugging; Graphical user interfaces; MIMICs; Postal services; bug fixing; bug reporting; capture/replay; delta debugging; failure reproduction; field failures; record/replay; reproduction steps; sequential pattern mining; software evolution; software maintenance; steps to reproduce; user interactions;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Analysis, Evolution and Reengineering (SANER), 2015 IEEE 22nd International Conference on
  • Conference_Location
    Montreal, QC
  • Type

    conf

  • DOI
    10.1109/SANER.2015.7081822
  • Filename
    7081822