An eye tracking study on the effects of layout in understanding the role of design patterns

The effect of layout in the comprehension of design pattern roles in UML class diagrams is assessed. This work replicates and extends a previous study using questionnaires but uses an eye tracker to gather additional data. The purpose of the replication is to gather more insight into the eye gaze behavior not evident from questionnaire-based methods. Similarities and differences between the studies are presented. Four design patterns are examined in two layout schemes in the context of three open source systems. Fifteen participants answered a series of eight design pattern role detection questions. Results show a significant improvement in role detection accuracy and visual effort with a certain layout for the Strategy and Observer patterns and a significant improvement in role detection time for all four patterns. Eye gaze data indicates classes participating in a design pattern act like visual beacons when they are in close physical proximity and follow the canonical layout, even though they violate some general graph aesthetics.

[1]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[2]  Holger Eichelberger,et al.  Nice class diagrams admit good design? , 2003, SoftVis '03.

[3]  Jonathan I. Maletic,et al.  The Effects of Layout on Detecting the Role of Design Patterns , 2010, 2010 23rd IEEE Conference on Software Engineering Education and Training.

[4]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[5]  Yann-Gaël Guéhéneuc,et al.  TAUPE: towards understanding program comprehension , 2006, CASCON.

[6]  David A. Carrington,et al.  Graph Drawing Aesthetics and the Comprehension of UML Class Diagrams: An Empirical Study , 2001, InVis.au.

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  Yann-Gaël Guéhéneuc,et al.  Impact of the visitor pattern on program comprehension and maintenance , 2009, 2009 3rd International Symposium on Empirical Software Engineering and Measurement.

[9]  Jonathan I. Maletic,et al.  An empirical study on the comprehension of stereotyped UML class diagram layouts , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[10]  Miroslaw Staron,et al.  An empirical study on using stereotypes to improve understanding of UML models , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[11]  Jonathan I. Maletic,et al.  The effect of layout on the comprehension of UML class diagrams: A controlled experiment , 2009, 2009 5th IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[12]  Michael Jünger,et al.  A new approach for visualizing UML class diagrams , 2003, SoftVis '03.

[13]  Klaus Schmid,et al.  Guidelines on the aesthetic quality of UML class diagrams , 2009, Inf. Softw. Technol..

[14]  Michael Kaufmann,et al.  A topology-shape-metrics approach for the automatic layout of UML class diagrams , 2003, SoftVis '03.

[15]  David A. Carrington,et al.  Graph Layout Aesthetics in UML Diagrams: User Preferences , 2002, J. Graph Algorithms Appl..

[16]  Andrew M. Sutton,et al.  Recovering UML class models from C++: A detailed explanation , 2007, Inf. Softw. Technol..

[17]  Jonathan I. Maletic,et al.  Assessing the Comprehension of UML Class Diagrams via Eye Tracking , 2007, 15th IEEE International Conference on Program Comprehension (ICPC '07).

[18]  M A Just,et al.  A theory of reading: from eye fixations to comprehension. , 1980, Psychological review.

[19]  Jonathan I. Maletic,et al.  Evaluating UML Class Diagram Layout based on Architectural Importance , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[20]  Marco Torchiano,et al.  How Developers' Experience and Ability Influence Web Application Comprehension Tasks Supported by UML Stereotypes: A Series of Four Experiments , 2010, IEEE Transactions on Software Engineering.

[21]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .