GUI Inspection from Source Code Analysis
2010
Abstract
Graphical user interfaces (GUIs) are critical components of today's software. Given their increased relevance, the correctness and usability of GUIs are becoming essential. This paper describes the latest results in the development of our tool to reverse engineer the GUI layer of interactive computing systems. We use static analysis techniques to generate models of the user interface behavior from source code. Models help in graphical user interface inspection by allowing designers to concentrate on its more important aspects. One particular type of model that the tool is able to generate is state machines. The paper shows how graph theory can be useful when applied to these models. A number of metrics and algorithms are used in the analysis of aspects of the user interface's quality. The ultimate goal of the tool is to enable analysis of interactive system through GUIs source code inspection.
References (24)
- F. Belli. Finite state testing and analysis of graphical user interfaces. In Proceed- ings.of the 12th International Symposium on Software Reliability Engineering, IS- SRE 2001. Pp. 34-42. IEEE, November 2001.
- P. Berkhin. A survey on pagerank computing. Internet Mathematics 2:73-120, 2005.
- P. Bumbulis. Combining Formal Techniques and Prototyping in User Interface Con- struction and Verification. PhD thesis, University of Waterloo, 1996.
- K. Claessen, J. Hughes. QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs. In Proceedings of International Conference on Functional Pro- gramming (ICFP), ACM SIGPLAN, 2000. 2000.
- J. C. Campos, M. D. Harrison. Interaction engineering using the IVY tool. In ACM Symposium on Engineering Interactive Computing Systems (EICS 2009). Pp. 35-44. ACM, New York, NY, USA, 2009.
- ISO/IEC. Software Products Evaluation. 1999. DIS 14598-1.
- J.76] M. T. J. A Complexity Measure. Intern. J. Syst. Sci. 2(4):308, 1976.
- P. Li, T. Huynh, M. Reformat, J. Miller. A practical approach to testing GUI systems. Empirical Softw. Engg. 12(4):331-357, 2007.
- A. M. Memon, M. L. Soffa, M. E. Pollack. Coverage criteria for GUI testing. In ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering. Pp. 256-267. ACM Press, New York, NY, USA, 2001.
- J. Nielsen. Usability Engineering. Academic Press, San Diego, CA, 1993.
- F. D. Paternò. A Method for Formal Specification and Verification of Interactive Systems. PhD thesis, Department of Computer Science, University of York, 1995. Available as Technical Report YCST 96/03.
- W. L. Pearn, W. C. Chiu. Approximate solutions for the maximum benefit Chinese postman problem. Intern. J. Syst. Sci. 36(13):815-822, 2005.
- S. Y. Shan, et al. Fast Centrality Approximation in Modular Networks. 2009.
- I. Stamelos, L. Angelis, A. Oikonomou, G. L. Bleris. Code quality analysis in open source software development. Information Systems Journal 12:43-60, 2002.
- J. Silva, J. C. Campos, J. Saraiva. Combining Formal Methods and Functional Strategies Regarding the Reverse Engineering of Interactive Applications. In Inter- active Systems, Design, Specifications and Verification, Lecture Notes in Computer Science. DSV-IS 2006, the XIII International Workshop on Design, Specification and Verification of Interactive System, Dublin, Ireland. Pp. 137-150. Springer Berlin / Heidelberg, July 2006.
- J. Silva, J. C. Campos, J. Saraiva. Models for the Reverse Engineering of Java/Swing Applications. ATEM 2006, 3rd International Workshop on Metamodels, Schemas, Grammars and Ontologies for Reverse Engineering, Genova, Italy, October 2006.
- J. Silva, J. C. Campos, J. Saraiva. A Generic Library for GUI Reasoning and Testing. In In ACM Symposium on Applied Computing. Pp. 121-128. March 2009.
- D. P. Sidhu, T.-k. Leung. Formal Methods for Protocol Testing: A Detailed Study. IEEE Trans. Softw. Eng. 15(4):413-426, 1989.
- R. K. Shehady, D. P. Siewiorek. A Method to Automate User Interface Testing Us- ing Variable Finite State Machines. In FTCS '97: Proceedings of the 27th Interna- tional Symposium on Fault-Tolerant Computing (FTCS '97). P. 80. IEEE Computer Society, Washington, DC, USA, 1997.
- H. Thimbleby, J. Gow. Applying Graph Theory to Interaction Design. Pp. 501-519, 2008.
- H. Thimbleby. The directed chinese postman problem. In journal of Software Prac- tice and Experience, 2003.
- F. Tip. A Survey of Program Slicing Techniques. Journal of Programming Lan- guages, september 1995.
- H. Ural. Formal Methods For Test Sequence Generation. In Computer Comm. Pp. 311-325. 1992.
- Y. S. Yoon, W. C. Yoon. Development of Quantitative Metrics to Support UI De- signer Decision-Making in the Design Process. In Human-Computer Interaction. Interaction Design and Usability. Pp. 316-324. Springer Berlin / Heidelberg, 2007.