cascon06.ppt

25
Yann-Gaël Guéhéneuc © Guéhéneuc, 2006 Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns Group of Open, Distributed Systems, Experimental Software Engineering Department of Informatics and Operations Research University of Montreal GEODES Taupe: Towards Understanding Program Comprehension CASCON 2006 Toronto, Canada

Upload: ptidej-team

Post on 26-May-2015

29 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: CASCON06.ppt

Yann-Gaël Guéhéneuc

© Guéhéneuc, 2006

Ptidej Team – OO Programs Quality Evaluation and Enhancement using Patterns

Group of Open, Distributed Systems, Experimental Software Engineering

Department of Informatics and Operations Research

University of Montreal

GEODES

Taupe: Towards Understanding

Program Comprehension

CASCON 2006

Toronto, Canada

Page 2: CASCON06.ppt

2/24

Summary

� Our work

– Software development and maintenance

– Study of program comprehension

– Use of class diagrams

– Provide better (easier, useful) diagrams

Page 3: CASCON06.ppt

3/24

Context

� Program comprehension is the starting

point of most software-related activities

� Program comprehension consists in

acquiring information about

– Algorithms

– Architecture (design)

– Executions

– Evolutions

to form an accurate mental model

Page 4: CASCON06.ppt

4/24

Previous Work and Question

� Previous work

– Understanding the creation of mental models [Soloway 86]

– Proposing new technique to present the

information [Seeman 97]

– Identifying interesting information [Murphy et al. 05]

� Question

– How software engineers concretely acquire information about a program?

Page 5: CASCON06.ppt

5/24

Significance of the Question

� If we knew how software engineers

acquire information, we could

– Build theories to have a sound basis

– Identify relevant information

– Devise better visual representations

– Ease program comprehension

– Reduce the cost of software development

Page 6: CASCON06.ppt

6/24

Statement

� UML Diagrams

– Are de facto industrial standard

– Describe the organisation of classes, their relationships, and services

– Are often used by software engineers

• Forward engineering

• Reverse engineering

• Sketches

Page 7: CASCON06.ppt

7/24

Answer to the Question

� Fixations and saccades highlights

– Important information in a diagrams wrt. understanding task

– Engineers’ comprehension process

� Use of eye-tracking systems

– Collect fixations and saccades of eye movements

Page 8: CASCON06.ppt

8/24

Data Analysis (1/3)

� Fixation maps [Wooding02]

– No difference between known areas of interest and others

Page 9: CASCON06.ppt

9/24

Data Analysis (2/3)

� In UML diagrams, a major surface of the

diagram conveys no information

� Areas of interest

Page 10: CASCON06.ppt

10/24

Data Analysis (3/3)

Page 11: CASCON06.ppt

11/24

Data Collection (1/2)

� SR Research eye-tracking systems

– Collect fixations and saccades

Page 12: CASCON06.ppt

12/24

Data Collection (2/2)

Page 13: CASCON06.ppt

13/24

Case Studies (1/9)

� Purpose

– Get insight in what engineers do when understanding a class diagram

� Subjects

– Graduate students in software engineering

� Objects

– Subset of the Ptidej tool

– ATM machine by Russel C. Bjork

� Method

– Ask subjects a question

– Record their fixations and saccades

Page 14: CASCON06.ppt

14/24

Case Studies (2/9)

� Subset of the Ptidej tool

– Question: Where to add a class Othersuch that its objects are also instance of F?

(Translated from French)

Page 15: CASCON06.ppt

15/24

Case Studies (3/9)

Page 16: CASCON06.ppt

16/24

Case Studies (4/9)

Page 17: CASCON06.ppt

17/24

Case Studies (5/9)

Page 18: CASCON06.ppt

18/24

Case Studies (6/9)

� ATM machine

– Question: How to add a new type of transaction not associated with a session?

(Translated from French)

Page 19: CASCON06.ppt

19/24

Case Studies (7/9)

Page 20: CASCON06.ppt

20/24

Case Studies (8/9)

� Preliminary finding

– Attention focused on the local area around a class of interest

– Not much attention paid to binary class

relationships

Page 21: CASCON06.ppt

21/24

Case Studies (9/9)

� Threats to validity

– Graduate students

– Layout of UML diagrams

– Reverse engineering question

– Temporal analysis

– Lack of hypotheses

– Lack of statistical study

Page 22: CASCON06.ppt

22/24

Future Work

� More experiments, for example

– Hypothesis: Subjects with knowledge about design patterns answer pattern-

related question differently than without

– Data analysis: Student’s test between the overall fixation rates per areas of interest

– Data collection: Fixations (and saccades) per areas of interest

Page 23: CASCON06.ppt

23/24

Conclusion

� Program comprehension is an important

activity in software engineering

� We attempt to gain a better understanding of program

comprehension by engineers

� Use of eye-tracking systems

– Develop new data analysis

Page 24: CASCON06.ppt

24/24

Conclusion

� Would you like to participate?

� Do you have experiments to carry out?

Contact Yann-Gaël Guéhéneuc [email protected]

Page 25: CASCON06.ppt

25/24

Case Studies