Automatically repairing broken workflows for evolving GUI applications

Download: PDF, slides (PDF), slides (PowerPoint), FlowFixer implementation.

“Automatically repairing broken workflows for evolving GUI applications” by Sai Zhang, Hao Lü, and Michael D. Ernst. In ISSTA 2013, Proceedings of the 2013 International Symposium on Software Testing and Analysis, (Lugano, Switzerland), July 2013, pp. 45-55.

Abstract

A workflow is a sequence of UI actions to complete a specific task. In the course of a GUI application's evolution, changes ranging from a simple GUI refactoring to a complete rearchitecture can break an end-user's well-established workflow. It can be challenging to find a replacement workflow. To address this problem, we present a technique (and its tool implementation, called FlowFixer) that repairs a broken workflow. FlowFixer uses dynamic profiling, static analysis, and random testing to suggest a replacement UI action that fixes a broken workflow.

We evaluated FlowFixer on 16 broken workflows from 5 real-world GUI applications written in Java. In 13 workflows, the correct replacement action was FlowFixer's first suggestion. In 2 workflows, the correct replacement action was FlowFixer's second suggestion. The remaining workflow was un-repairable. Overall, FlowFixer produced significantly better results than two alternative approaches.

Download: PDF, slides (PDF), slides (PowerPoint), FlowFixer implementation.

BibTeX entry:

@inproceedings{ZhangLE2013,
   author = {Sai Zhang and Hao L{\"u} and Michael D. Ernst},
   title = {Automatically repairing broken workflows for evolving {GUI}
	applications},
   booktitle = {ISSTA 2013, Proceedings of the 2013 International
	Symposium on Software Testing and Analysis},
   pages = {45--55},
   address = {Lugano, Switzerland},
   month = jul,
   year = {2013}
}

(This webpage was created with bibtex2web.)

Back to Michael Ernst's publications.