Understanding Program Comprehension
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. On this page you may find more about:
Research
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 comprehenesion?" 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 photos of our state-of-the-art tools (deprecated).
Implementation
We also develop the state-of-the-art software system to edit, visualise, and analyse the data collected by eye-trackers during experiments: Taupe. The current version of Taupe is v2.0 and you may want to download:
- Taupe JAR file.
- Taupe source code and examples, released under the GPL.
- Have also a look at this page describing in more details how to use the examples.
- Taupe Javadoc, released under the GPL.
- Taupe user's guide.
- Taupe developer's guide.
Taupe architectural design and main components are shown in the figure below:
Information
Questions? Comments? Please contact Yann-Gaël Guéhéneuc.
1 "Taupe" means "mole" in French and is pronounced 'tOp.