Program Comprehension
Taupe
In the Taupe project (Thoroughly Analysing the Understanding of Programs through Eyesight1), we attempt to evaluate experimentally the impact of design patterns, antipatterns, architectural styles, etc. on program comprehension using state-of-the-art tools and techniques, in particular eye-trackers.
The main assumption of our research work is that software developers mainly use sight to obtain information about the programs that they develop or maintain. The main research question that we attempt to address is: "How do developers use visual data during program comprehension?" In particular, we are interested in the use by developers of patterns in program models, be there represented by class diagrams, sequence diagrams, adjacency matrices, or any other forms.
We hope that our research could help in:
- Classifying and organising visual representations.
- Developing criteria to assess the quality of visual representations.
- Developing new visual representations and representation techniques.
- Improving our understanding of program comprehension.
- Justifying the body of work on pattern identification and visualisation.
You may be interested in:
- An example of an eye-tracking session on a UML diagram.
- Some more videos of our experiments.
- Some presentations of our research work and results;
- Some tools developed to support our effort.
1 "Taupe" means "mole" in French and is pronounced 'tOp.