Pidgin Crasher: Searching for Minimised Crashing GUI Event Sequences
We present a search based testing system that automatically explores the space of all possible GUI event interleavings. Search guides our system to novel crashing sequences using Levenshtein distance and minimises the resulting fault-revealing UI sequences in a post-processing hill climb. We report on the application of our system to the SSBSE 2014 challenge program, Pidgin. Overall, our Pidgin Crasher found 20 different events that caused 2 distinct kinds of bugs, while the event sequences that caused them were reduced by 84% on average using our minimisation post processor.
Unable to display preview. Download preview PDF.
- 1.Amalfitano, D., Fasolino, A.R., Tramontana, P.: Reverse Engineering Finite State Machines from Rich Internet Applications. In: 15th Working Conference on Reverse Engineering (October 2008)Google Scholar
- 2.Amalfitano, D., Fasolino, A.R., Tramontana, P., De Carmine, S., Imparato, G.: A toolset for GUI testing of Android applications. In: 28th IEEE International Conference on Software Maintenance (ICSM) (September 2012)Google Scholar
- 3.Amalfitano, D., Fasolino, A.R., Tramontana, P., De Carmine, S., Memon, A.M.: Using GUI ripping for automated testing of Android applications. In: 27th IEEE/ACM International Conference on Automated Software Engineering (2012)Google Scholar
- 4.Belli, F., Budnik, C.J., White, L.: Event-based modelling, analysis and testing of user interactions: Approach and case study. Software Testing, Verification and Reliability 16(1) (March 2006)Google Scholar
- 5.Gross, F., Fraser, G., Zeller, A.: EXSYST: Search-based GUI testing. In: 34th International Conference on Software Engineering (June 2012)Google Scholar
- 6.Harman, M., McMinn, P., Shahbaz, M., Yoo, S.: A comprehensive survey of trends in oracles for software testing. Technical Report Research Memoranda CS-13-01, Department of Computer Science, University of Sheffield (2013)Google Scholar
- 7.Jensen, C.S., Prasad, M.R., Møller, A.: Automated testing with targeted event sequence generation. In: International Symposium on Software Testing and Analysis (2013)Google Scholar
- 8.Langdon, W.B., Harman, M.: Optimising existing software with genetic programming. IEEE Transactions on Evolutionary Computation (TEVC) (to appear, 2014)Google Scholar
- 9.Memon, A.M.: GUI testing: Pitfalls and process. Computer 35(8) (August 2002)Google Scholar
- 10.Memon, A.M., Xie, Q.: Studying the fault-detection effectiveness of GUI test cases for rapidly evolving software. IEEE Transactions on Software Engineering 31(10) (October 2005)Google Scholar
- 11.Pidgin, the universal chat client, http://www.pidgin.im/ (accessed in 2014)
- 12.Tan, L., Liu, C., Li, Z., Wang, X., Zhou, Y., Zhai, C.: Bug characteristics in open source software. Empirical Software Engineering (June 2013)Google Scholar
- 13.Yoo, S., Harman, M.: Test data regeneration: Generating new test data from existing test data. Software Testing, Verification and Reliability 22(3) (May 2012)Google Scholar