Mental models and software maintenance
Papers presented at the first workshop on empirical studies of programmers on Empirical studies of programmers
Comprehension strategies in programming
Empirical studies of programmers: second workshop
Software maintenance management: changes in the last decade
Journal of Software Maintenance: Research and Practice
Software engineering: the production of quality software (2nd ed.)
Software engineering: the production of quality software (2nd ed.)
Expert problem solving strategies for program comprehension
CHI '91 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Identification of Dynamic Comprehension Processes During Large Scale Maintenance
IEEE Transactions on Software Engineering - Special issue: best papers of the 17th International Conference on Software Engineering (ICSE-17)
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
UML toolkit
International Journal of Human-Computer Studies
Cognitive design elements to support the construction of a mental model during software exploration
Journal of Systems and Software
Novice comprehension of small programs written in the procedural and object-oriented styles
International Journal of Human-Computer Studies - Best of empirical studies of programmers 7
The role of comprehension in software inspection
Journal of Systems and Software - Special issue on Evaluation and assessment in software engineering
Issues in Software Maintenance
ACM Computing Surveys (CSUR)
International Journal of Human-Computer Studies
Software design---cognitive aspects
Software design---cognitive aspects
Cognitive activities in OO development
International Journal of Human-Computer Studies
An Experimental Comparison of the Maintainability of Object-Orientedand Structured Design Documents
Empirical Software Engineering
Assessing the Changeability of two Object-Oriented Design Alternatives—a Controlled Experiment
Empirical Software Engineering
Object-Oriented Program Comprehension: Effect of Expertise, Task and Phase
Empirical Software Engineering
Hypothesis-Driven Understanding Processes During Corrective Maintenance of Large Scale Software
ICSM '97 Proceedings of the International Conference on Software Maintenance
Identifying the difficulties of object-oriented development
Journal of Systems and Software
A web-based support environment for software engineering experiments
Nordic Journal of Computing
HCC '02 Proceedings of the IEEE 2002 Symposia on Human Centric Computing Languages and Environments (HCC'02)
Understanding Function Behaviors through Program Slicing
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
Individual Differences in Program Comprehension Strategies in Unfamiliar Programming Systems
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Inference-Based and Expectation-Based Processing in Program Comprehension
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Navigation and Comprehension of Programs by Novice Programmers
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Empirical Investigation of a Non-Intrusive Approach to Study Comprehension Cognitive Models
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
An Exploratory Study of Code and Document Interactions during Task-directed Program Comprehension
ASWEC '04 Proceedings of the 2004 Australian Software Engineering Conference
IEEE Transactions on Software Engineering
Collecting Feedback during Software Engineering Experiments
Empirical Software Engineering
Theories, Methods and Tools in Program Comprehension: Past, Present and Future
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
The cognitive consequences of object-oriented design
Human-Computer Interaction
Comparing of feedback-collection and think-aloud methods in program comprehension studies
Behaviour & Information Technology
Difficulties experienced by students in maintaining object-oriented systems: an empirical study
ACE '07 Proceedings of the ninth Australasian conference on Computing education - Volume 66
The impacts of function extraction technology on program comprehension: A controlled experiment
Information and Software Technology
Comparing of feedback-collection and think-aloud methods in program comprehension studies
Behaviour & Information Technology
A family of languages for architecture constraint specification
Journal of Systems and Software
Can we evaluate the quality of software engineering experiments?
Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement
An introduction to program comprehension for computer science educators
Proceedings of the 2010 ITiCSE working group reports
Information and Software Technology
A feasibility study on using clustering algorithms in programming education research
Proceedings of the 13th annual conference on Information technology education
To what extent can maintenance problems be predicted by code smell detection? - An empirical study
Information and Software Technology
Hi-index | 0.00 |
Program comprehension is a major time-consuming activity in software maintenance. Understanding the underlying mechanisms of program comprehension is therefore necessary for improving software maintenance. It has been argued that acquiring knowledge of how a program works before modifying it (the systematic strategy) is unrealistic in larger programs. The goal of the experiment presented in this paper is to explore this claim. The experiment examines strategies for program comprehension and cognitive difficulties of developers who maintain an unfamiliar object-oriented system. The subjects were 38 students in their third or fourth year of study in computer science. They used a professional Java tool to perform several maintenance tasks on a medium-size Java application system in a 6-h long experiment. The results showed that the subjects who applied the systematic strategy were more likely to produce correct solutions. Two major groups of difficulties were related to the comprehension of the application structure, namely to the understanding of GUI implementation and OO comprehension and programming. Acquisition of strategic knowledge might improve program comprehension in software maintenance.