Abstract
Graphical user interfaces (GUIs) make software easy to use by providing the user with visual controls. Therefore, correctness of GUI’s code is essential to the correct execution of the overall software. Models can help in the evaluation of interactive applications by allowing designers to concentrate on its more important aspects. This paper describes our approach to reverse engineer an abstract model of a user interface directly from the GUI’s legacy code. We also present results from a case study. These results are encouraging and give evidence that the goal of reverse engineering user interfaces can be met with more work on this technique.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Alves, T., Visser, J.: Metrication of sdf grammars. Technical Report DI-PURe-05.05.01, Departamento de Informática, Universidade do Minho (2005)
Blandford, A., Butterworth, R., Curzon, P.: Models of interactive systems: a case study on programmable user modelling. International Journal of Human-Computer Studies 60, 149–200 (2004)
Campos, J.C., Harrison, M.D.: Model checking interactor specifications. Automated Software Engineering 8(3-4), 275–310 (2001)
Campos, J.C.: Using task knowledge to guide interactor specifications analysis. In: Jorge, J.A., Jardim Nunes, N., Falcão e Cunha, J. (eds.) DSV-IS 2003. LNCS, vol. 2844, pp. 171–186. Springer, Heidelberg (2003)
Chen, J., Subramaniam, S.: A gui environment for testing gui-based applications in java. In: Proceedings of the 34th Hawaii International Conferences on System Sciences, January (2001)
D’Ausbourg, B., Durrieu, G., Roché, P.: Deriving a formal model of an interactive system from its UIL description in order to verify and to test its behaviour. In: Bodart, F., Vanderdonckt, J. (eds.) Design, Specification and Verification of Interactive Systems ’96, 1996. Springer Computer Science, pp. 105–122. Springer, Wien (1996)
Duke, D.J., Harrison, M.D.: Abstract interaction objects. Computer Graphics Forum 12(3), 25–36 (1993)
Duke, D.J., et al.: Syndetic modelling. Human-Computer Interaction 13(4), 337–393 (1998)
Merlo, E., et al.: Reverse engineering and reengineering of user interfaces. IEEE Software 12(1), 64–73 (1995)
Lientz, B.P., Swanson, E.B.: Software Maintenance Management. Addison-Wesley, Reading (1980)
Heller, D., Ferguson, P.M.: Motif Programming Manual, vol. 6A of X Window System Seris. O’Reilly & Associates, Sebastopol (1994)
Hollnagel, E.: Human Reliability Analysis: Context and Control. Academic Press, London (1993)
Jones, S.P., Hughes, J., Augustsson, L.: et al. Report on the Programming Language Haskell 98. Technical report (February 1999)
Lammel, R., Visser, J.: A strafunski application letter. Technical report, CWI, Vrije Universiteit, Software Improvement Group, Kruislaan, Amsterdam (2003)
Leveson, N.: Safeware: System Safety and Computers. Addison-Wesley, Reading (1995)
Lewis, C., et al.: Testing a walkthrough methodology for theory-based design of walk-up-and-use interfaces. In: CHI ’90 Proceedings, April 1990, pp. 235–242. ACM Press, New York (1990)
De Lucia, A.: Program slicing: Methods and applications. In: IEEE workshop on Source Code Analysis and Manipulation (SCAM 2001), IEEE Computer Society Press, Los Alamitos (2001)
McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers, Dordrecht (1993)
Memon, A., Banerjee, I., Nagarajan, A.: GUI ripping: Reverse engineering of graphical user interfaces for testing. Technical report, Department of Computer Science and Fraunhofer Center for Experimental Software Engineering, Department of Computer Science University of Maryland, USA (2003)
Moore, M.M.: Rule-based detection for reverse engineering user interfces. In: Proceedings of the Third Working Conference on Reverse Engineering, Monterey, CA, November, pp. 42–48 (1996)
Nielsen, J., Molich, R.: Heuristic evaluation of user interfaces. In: CHI ’90 Proceedings, April 1990, pp. 249–256. ACM Press, New York (1990)
Paternò, F.: Model-Based Design and Evaluation of Interactive Applications. Springer, London (2000)
Rushby, J.: Using model checking to help discover mode confusions and other automation surprises. Reliability Engineering and System Safety 75(2), 167–177 (2002)
ISO/TC159 Sub-Commitee SC4. Draft International ISO DIS 9241-11 Standard. International Organization for Standardization (September 1994)
Systa, T.: Dynamic reverse engineering of java software. Technical report, University of Tampere, Finland (2001)
Thimbleby, H.: User interface design with matrix algebra. ACM Transactions on HUman-Computer Interaction 11(2), 181–236 (2004)
Tip, F.: A survey of program slicing techniques. Journal of Programming Languages (September 1995)
Visser, E.: Program transformation with Stratego/XT: Rules, strategies, tools, and systems in StrategoXT-0.9. In: Lengauer, C., et al. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, Springer, Heidelberg (2004)
Visser, J.: Generic Traversal over Typed Source Code Representations. PhD thesis, University of Amsterdam (February 2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer Berlin Heidelberg
About this paper
Cite this paper
Silva, J.C., Campos, J.C., Saraiva, J. (2007). Combining Formal Methods and Functional Strategies Regarding the Reverse Engineering of Interactive Applications. In: Doherty, G., Blandford, A. (eds) Interactive Systems. Design, Specification, and Verification. DSV-IS 2006. Lecture Notes in Computer Science, vol 4323. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-69554-7_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-69554-7_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-69553-0
Online ISBN: 978-3-540-69554-7
eBook Packages: Computer ScienceComputer Science (R0)