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
Link To Document :
بازگشت