Designing documentation to compensate for delocalized plans
Communications of the ACM
Applying design patterns in Java
Java Gems
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Design patterns explained: a new perspective on object-oriented design
Design patterns explained: a new perspective on object-oriented design
Eye tracking in web search tasks: design implications
ETRA '02 Proceedings of the 2002 symposium on Eye tracking research & applications
Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM)
Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM)
Design pattern modelling and instantiation using DPML
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Empirical Evaluation of Aesthetics-based Graph Layout
Empirical Software Engineering
Eye Tracking Methodology: Theory and Practice
Eye Tracking Methodology: Theory and Practice
Precise Visual Specification of Design Patterns
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Nice class diagrams admit good design?
Proceedings of the 2003 ACM symposium on Software visualization
Precise specification and automatic application of design patterns
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Pattern Visualization for Software Comprehension
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
A UML-Based Pattern Specification Technique
IEEE Transactions on Software Engineering
The Elements of UML(TM) 2.0 Style
The Elements of UML(TM) 2.0 Style
VisDP: A Web Service for Visualizing Design Patterns on Demand
ITCC '05 Proceedings of the International Conference on Information Technology: Coding and Computing (ITCC'05) - Volume II - Volume 02
On Evaluating the Layout of UML Class Diagrams for Program Comprehension
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
An Experimental Investigation of Formality in UML-Based Development
IEEE Transactions on Software Engineering
An eye-tracking methodology for characterizing program comprehension processes
Proceedings of the 2006 symposium on Eye tracking research & applications
The validity of the stimulated retrospective think-aloud method as measured by eye tracking
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
TAUPE: towards understanding program comprehension
CASCON '06 Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
Assessing the Comprehension of UML Class Diagrams via Eye Tracking
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Visualizing Design Patterns in Their Applications and Compositions
IEEE Transactions on Software Engineering
An empirical study on the evolution of design patterns
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
SIGDOC '07 Proceedings of the 25th annual ACM international conference on Design of communication
Do Design Patterns Impact Software Quality Positively?
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Representational correspondence as a basic principle of diagram design
Knowledge and Information Visualization
Human and program factors affecting the maintenance of programs with deployed design patterns
Information and Software Technology
MODELS'12 Proceedings of the 15th international conference on Model Driven Engineering Languages and Systems
The impact of identifier style on effort and comprehension
Empirical Software Engineering
Taupe: Visualizing and analyzing eye-tracking data
Science of Computer Programming
Hi-index | 0.00 |
Design patterns are recognized in the software engineering community as useful solutions to recurring design problems that improve the quality of programs. They are more and more used by developers in the design and implementation of their programs. Therefore, the visualization of the design patterns used in a program could be useful to efficiently understand how it works. Currently, a common representation to visualize design patterns is the UML collaboration notation. Previous work noticed some limitations in the UML representation and proposed new representations to tackle these limitations. However, none of these pieces of work conducted empirical studies to compare their new representations with the UML representation. We designed and conducted an empirical study to collect data on the performance of developers on basic tasks related to design pattern comprehension (i.e., identifying composition, role, participation) to evaluate the impact of three visual representations and to compare them with the UML one. We used eye-trackers to measure the developers' effort during the execution of the study. Collected data and their analyses show that stereotype-enhanced UML diagrams are more efficient for identifying composition and role than the UML collaboration notation. The UML representation and the pattern-enhanced class diagrams are more efficient for locating the classes participating in a design pattern (i.e., identifying participation).