An Approach for Graphical User Interface External Bad Smells Detection

In the context of an effort to develop methodologies to support the evaluation of interactive system, this paper investigates an approach to detect graphical user interface external bad smells. Our approach consists in detecting user interface external bad smells through model-based reverse engineering from source code. Models are used to define which widgets are present in the interface, when can particular graphical user interface (GUI) events occur, under which conditions, which system actions are executed, and which GUI state is generated next. From these models we obtain metrics that can later be used to identify the smells.

[1]  Julie A. Jacko,et al.  Interaction design and usability , 2007 .

[2]  Tarja Systä,et al.  Dynamic Reverse Engineering of Java Software , 1999, ECOOP Workshops.

[3]  Ladan Tahvildari,et al.  A metric-based approach to enhance design quality through meta-pattern transformations , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[4]  Gustavo Rossi,et al.  Refactoring for Usability in Web Applications , 2011, IEEE Software.

[5]  Ioannis Stamelos,et al.  Code quality analysis in open source software development , 2002, Inf. Syst. J..

[6]  Takeo Imai,et al.  A quantitative evaluation of maintainability enhancement by refactoring , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[7]  Francesca Arcelli Fontana,et al.  Impact of refactoring on quality code evaluation , 2011, WRT '11.

[8]  Mats Per Erik Heimdahl,et al.  Proving the Shalls , 2003, FME.

[9]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[10]  Harold W. Thimbleby,et al.  Applying Graph Theory to Interaction Design , 2008, EHCI/DS-VIS.

[11]  Ana C. R. Paiva,et al.  Reverse Engineered Formal Models for GUI Testing , 2007, FMICS.

[12]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[13]  Brad A. Myers Separating application code from toolkits: eliminating the spaghetti of call-backs , 1991, UIST '91.

[14]  Mika Mäntylä,et al.  A taxonomy and an initial empirical study of bad smells in code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[15]  Young Sik Yoon,et al.  Development of Quantitative Metrics to Support UI Designer Decision-Making in the Design Process , 2007, HCI.

[16]  Melody M. Moore,et al.  Rule-based detection for reverse engineering user interfaces , 1996 .

[17]  Philippe Schnoebelen,et al.  Systems and Software Verification , 2001, Springer Berlin Heidelberg.

[18]  Mats Per Erik Heimdahl,et al.  Proving the shalls , 2003, International Journal on Software Tools for Technology Transfer.

[19]  Pietro Liò,et al.  Fast centrality approximation in modular networks , 2009, CIKM-CNIKM.

[20]  Mary Lou Soffa,et al.  A comprehensive framework for testing graphical user interfaces , 2001 .

[21]  Ian Stark,et al.  Randomised Testing of a Microprocessor Model Using SMT-Solver State Generation , 2014, FMICS.

[22]  Pavel Berkhin,et al.  A Survey on PageRank Computing , 2005, Internet Math..

[23]  João Saraiva,et al.  A generic library for GUI reasoning and testing , 2009, SAC '09.