Abstract
Graphical user interfaces (GUIs) are important parts of today’s software and their usability ensures the usefulness of the overall software. A popular technique to check the usability of GUIs is by performing usability evaluations either manually or automatically using tools. While manual evaluation is resource intensive, performing automatic usability evaluation usually involves the creation of a model of the GUI, a significant resource-intensive step that intimidates many practitioners and prevents the application of the automated techniques. This chapter presents “GUI ripping,” a new process that automatically recovers models of the GUI by dynamically “traversing” all its windows and extracting all the widgets, properties, and values. The usefulness of this process is demonstrated by recovering a structural model called a GUI forest and dynamic models called event-flow graphs and integration trees. Results of case studies show that GUI ripping is effective and requires very little human intervention.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Baker, K., Greenberg, S., and Gutwin, C. (2002). Empirical development of a heuristic evaluation methodology for shared workspace groupware. In Proceedings of the 2002 ACM conference on Computer supported cooperative work, pages 96–105. ACM Press.
Brinck, T. and Hofer, E. (2002). Automatically evaluating the usability of websites. In CHI ’02 Extended Abstracts on Human Factors in Computer Systems, pages 906–907. ACM Press.
Byrne, M. D., Wood, S. D., Foley, J. D., Kieras, D. E.,, and Sukaviriya, P. N. (1994). Automating interface evaluation. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 232–237.
Castillo, J. C., Hartson, H. R., and Hix, D. (1998). Remote usability evaluation: can users report their own critical incidents? In CHI 98 conference summary on Human factors in computing systems, pages 253–254. ACM Press.
Dix, A., Finlay, J., Abowd, G., and Beale, R. (2002-03-19). Human computer interaction (booksite).
Dwyer, M. B., Carr, V., and Hines, L. (1997). Model checking graphical user interfaces using abstractions. In Jazayeri, M. and Schauer, H., editors, Proceedings of the Sixth European Software Engineering Conference (ESEC/FSE 97), pages 244–261. Springer–Verlag.
Hilbert, D. M. and Redmiles, D. F. (2000). Extracting usability information from user interface events. ACM Computing Surveys, 32(4):384–421.
Ivory, M. Y. and Hearst, M. A. (2001). The state of the art in automating usability evaluation of user interfaces. ACM Comput. Surv., 33(4):470–516.
John, B. E. (1996). Evaluating usability evaluation techniques. ACM Computing Surveys, 33(4):139.
Kieras, D. E., Wood, S. D., Abotel, K., and Hornof, A. (1995). GLEAN: a computer-based tool for rapid GOMS model usability evaluation of user interface designs. In Proceedings of the 8th Annual ACM Symposium on User interface and Software Technology, pages 91–100. ACM Press.
Koskimies, K., Männistö, T., Systä, T., and Tuomi, J. (1998). Automated support for modeling OO software. IEEE Software, 15:87–94.
Mahajan, R. and Shneiderman, B. (1996). Visual and textual consistency checking tools for graphical user interfaces. Technical Report CS-TR-3639, University of Maryland, College Park.
Marsh, T. (1999). Evaluation of virtual reality systems for usability. In CHI ’99 Extended Abstracts on Human Factors in Computer Systems, pages 61–62. ACM Press.
Matzko, S., Clarke, P. J., Power, J. F., and Monahan, R. (2002). Reveal: A tool to reverse engineer class diagrams. In Proceedings of the Conference in Research and Practice in Information Technology, pages 13–21.
Memon, A. M. (2001). A Comprehensive Framework for Testing Graphical User Interfaces. Ph.D. thesis, Department of Computer Science, University of Pittsburgh.
Memon, A. M. (2002). GUI testing: Pitfalls and process. IEEE Computer, 35(8):90–91.
Memon, A. M. (2003). Advances in GUI testing. In Zelkowitz, M. V., editor, Advances in Computers, 58:149–201. Academic Press.
Memon, A. M., Banerjee, I., Hashmi, N., and Nagarajan, A. (2003). DART: A framework for regression testing nightly/daily builds of GUI applications. In Proceedings of the International Conference on Software Maintenance 2003.
Memon, A. M., Pollack, M. E., and Soffa, M. L. (1999). Using a goal-driven approach to generate test cases for GUIs. In Proceedings of the 21st International Conference on Software Engineering, pages 257–266. ACM Press.
Memon, A. M., Pollack, M. E., and Soffa, M. L. (2001a). Hierarchical GUI test case generation using automated planning. IEEE Transactions on Software Engineering, 27(2):144–155.
Memon, A. M., Soffa, M. L., and Pollack, M. E. (2001b). Coverage criteria for GUI testing. In Proceedings of the 8th European Software Engineering Conference ESEC, pages 256–267.
Moore, M. M. (1996). Rule-based detection for reverse engineering user interfaces. In Proceedings of the Third Working Conference on Reverse Engineering, pages 42–48. IEEE.
Morley, S. (1998). Digital talking books on a PC: a usability evaluation of the prototype DAISY playback software. In Proceedings of the Third International ACM Conference on Assistive Technologies, pages 157–164. ACM Press.
Nielsen, J. (1993). Usability Engineering. Boston, MA: Academic Press.
Nielsen, J. (1994). Heuristic evaluation. In Nielsen, J. and Mack, R. L., editors, Usability Inspection Methods. New York: John Wiley.
Nielsen, J. and Molich, R. (1990). Heuristic evaluation of user interfaces. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 249–256. ACM Press.
Perlman, G. (1996). Practical usability evaluation. In Conference Companion on Human Factors in Computing Systems, pages 348–349. ACM Press.
Pinelle, D. and Gutwin, C. (2002). Groupware walkthrough: adding context to groupware usability evaluation. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 455–462. ACM Press.
Rohn, J. A., Spool, J., Ektare, M., Koyani, S., Muller, M., and Redish, J. (2002). Usability in practice: alternatives to formative evaluations-evolution and revolution. In CHI ’02 Extended Abstracts on Human Factors in Computer Systems, pages 891–897. ACM Press.
Systä, T. (2001). dynamic reverse engineering of java software. Technical report, University of Tampere, Box 607, 33101 Tampere, Finland.
Winckler, M.A. Carla, M.D.S., and Valdeni de Lima, J. (2000). Usability remote evaluation for WWW, CHI’00 extended abstracts on Human factors in computer systems, pages 131–132.
Wixon, D. 2003). Evaluating usability methods: why the current literature fails the practitioner. Interactions, 10(4):28–34.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer Science+Business Media, LLC
About this chapter
Cite this chapter
Memon, A.M. (2009). Using Reverse Engineering for Automated Usability Evaluation of Gui-Based Applications. In: Seffah, A., Vanderdonckt, J., Desmarais, M.C. (eds) Human-Centered Software Engineering. Human-Computer Interaction Series. Springer, London. https://doi.org/10.1007/978-1-84800-907-3_16
Download citation
DOI: https://doi.org/10.1007/978-1-84800-907-3_16
Publisher Name: Springer, London
Print ISBN: 978-1-84800-906-6
Online ISBN: 978-1-84800-907-3
eBook Packages: Computer ScienceComputer Science (R0)