Skip to main content

Combining Formal Methods and Functional Strategies Regarding the Reverse Engineering of Interactive Applications

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4323))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alves, T., Visser, J.: Metrication of sdf grammars. Technical Report DI-PURe-05.05.01, Departamento de Informática, Universidade do Minho (2005)

    Google Scholar 

  2. 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)

    Article  Google Scholar 

  3. Campos, J.C., Harrison, M.D.: Model checking interactor specifications. Automated Software Engineering 8(3-4), 275–310 (2001)

    Article  MATH  Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. Duke, D.J., Harrison, M.D.: Abstract interaction objects. Computer Graphics Forum 12(3), 25–36 (1993)

    Article  Google Scholar 

  8. Duke, D.J., et al.: Syndetic modelling. Human-Computer Interaction 13(4), 337–393 (1998)

    Article  Google Scholar 

  9. Merlo, E., et al.: Reverse engineering and reengineering of user interfaces. IEEE Software 12(1), 64–73 (1995)

    Article  Google Scholar 

  10. Lientz, B.P., Swanson, E.B.: Software Maintenance Management. Addison-Wesley, Reading (1980)

    Google Scholar 

  11. Heller, D., Ferguson, P.M.: Motif Programming Manual, vol. 6A of X Window System Seris. O’Reilly & Associates, Sebastopol (1994)

    Google Scholar 

  12. Hollnagel, E.: Human Reliability Analysis: Context and Control. Academic Press, London (1993)

    Google Scholar 

  13. Jones, S.P., Hughes, J., Augustsson, L.: et al. Report on the Programming Language Haskell 98. Technical report (February 1999)

    Google Scholar 

  14. Lammel, R., Visser, J.: A strafunski application letter. Technical report, CWI, Vrije Universiteit, Software Improvement Group, Kruislaan, Amsterdam (2003)

    Google Scholar 

  15. Leveson, N.: Safeware: System Safety and Computers. Addison-Wesley, Reading (1995)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. McMillan, K.L.: Symbolic Model Checking. Kluwer Academic Publishers, Dordrecht (1993)

    MATH  Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Nielsen, J., Molich, R.: Heuristic evaluation of user interfaces. In: CHI ’90 Proceedings, April 1990, pp. 249–256. ACM Press, New York (1990)

    Google Scholar 

  22. Paternò, F.: Model-Based Design and Evaluation of Interactive Applications. Springer, London (2000)

    MATH  Google Scholar 

  23. Rushby, J.: Using model checking to help discover mode confusions and other automation surprises. Reliability Engineering and System Safety 75(2), 167–177 (2002)

    Article  Google Scholar 

  24. ISO/TC159 Sub-Commitee SC4. Draft International ISO DIS 9241-11 Standard. International Organization for Standardization (September 1994)

    Google Scholar 

  25. Systa, T.: Dynamic reverse engineering of java software. Technical report, University of Tampere, Finland (2001)

    Google Scholar 

  26. Thimbleby, H.: User interface design with matrix algebra. ACM Transactions on HUman-Computer Interaction 11(2), 181–236 (2004)

    Article  Google Scholar 

  27. Tip, F.: A survey of program slicing techniques. Journal of Programming Languages (September 1995)

    Google Scholar 

  28. 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)

    Google Scholar 

  29. Visser, J.: Generic Traversal over Typed Source Code Representations. PhD thesis, University of Amsterdam (February 2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Gavin Doherty Ann Blandford

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics