Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
How Do Program Understanding Tools Affect How Programmers Understand Programs
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Journal of Software Maintenance: Research and Practice
Polymetric Views-A Lightweight Visual Approach to Reverse Engineering
IEEE Transactions on Software Engineering
Detection Strategies: Metrics-Based Rules for Detecting Design Flaws
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
A Novel Software Visualisation Model to Support Software Comprehension
WCRE '04 Proceedings of the 11th Working Conference on Reverse Engineering
Supporting the Evolution of a Software Visualization Tool Through Usability Studies
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
Questions programmers ask during software evolution tasks
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Interactive Views to Improve the Comprehension of UML Models - An Experimental Validation
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Program Comprehension through Software Habitability
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Designing your Next Empirical Study on Program Comprehension
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
CodeCity: 3D visualization of large-scale software
Companion of the 30th international conference on Software engineering
Visually localizing design problems with disharmony maps
Proceedings of the 4th ACM symposium on Software visualization
Do Dynamic Object Process Graphs Support Program Understanding? - A Controlled Experiment.
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
Visual Exploration of Large-Scale System Evolution
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Analyzing software process models with AVISPA
Proceedings of the 2011 International Conference on Software and Systems Process
SourceVis: a tool for multi-touch software visualization
Proceedings of the ACM International Conference on Interactive Tabletops and Surfaces
Towards the visualization of software systems as 3D forests: the CodeTrees environment
Proceedings of the 27th Annual ACM Symposium on Applied Computing
MetricAttitude: a visualization tool for the reverse engineering of object oriented software
Proceedings of the International Working Conference on Advanced Visual Interfaces
Proceedings of the 34th International Conference on Software Engineering
Tracking human-centric controlled experiments with biscuit
Proceedings of the ACM 4th annual workshop on Evaluation and usability of programming languages and tools
Answering software evolution questions: An empirical evaluation
Information and Software Technology
BugMap: a topographic map of bugs
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Software evolution visualization: A systematic mapping study
Information and Software Technology
Evolutionary and collaborative software architecture recovery with Softwarenaut
Science of Computer Programming
Hi-index | 0.00 |
Software visualization is a popular program comprehension technique used in the context of software maintenance, reverse engineering, and software evolution analysis. While there is a broad range of software visualization approaches, only few have been empirically evaluated. This is detrimental to the acceptance of software visualization in both the academic and the industrial world. We present a controlled experiment for the empirical evaluation of a 3D software visualization approach based on a city metaphor and implemented in a tool called CodeCity. The goal is to provide experimental evidence of the viability of our approach in the context of program comprehension by having subjects perform tasks related to program comprehension. We designed our experiment based on lessons extracted from the current body of research. We conducted the experiment in four locations across three countries, involving 41 participants from both academia and industry. The experiment shows that CodeCity leads to a statistically significant increase in terms of task correctness and decrease in task completion time. We detail the experiment we performed, discuss its results and reflect on the many lessons learned.