CASCON06.ppt
-
Upload
ptidej-team -
Category
Technology
-
view
28 -
download
0
Transcript of CASCON06.ppt
![Page 1: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/8.jpg)
8/24
Data Analysis (1/3)
� Fixation maps [Wooding02]
– No difference between known areas of interest and others
![Page 9: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/10.jpg)
10/24
Data Analysis (3/3)
![Page 11: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/11.jpg)
11/24
Data Collection (1/2)
� SR Research eye-tracking systems
– Collect fixations and saccades
![Page 12: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/12.jpg)
12/24
Data Collection (2/2)
![Page 13: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/15.jpg)
15/24
Case Studies (3/9)
![Page 16: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/16.jpg)
16/24
Case Studies (4/9)
![Page 17: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/17.jpg)
17/24
Case Studies (5/9)
![Page 18: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/19.jpg)
19/24
Case Studies (7/9)
![Page 20: CASCON06.ppt](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081401/55646488d8b42ae57c8b45f1/html5/thumbnails/25.jpg)
25/24
Case Studies