Program evolution: processes of software change
Program evolution: processes of software change
Software engineering: the production of quality software
Software engineering: the production of quality software
Software maintenance management: changes in the last decade
Journal of Software Maintenance: Research and Practice
UML toolkit
Building Knowledge through Families of Experiments
IEEE Transactions on Software Engineering
Perspectives in Software Engineering
ACM Computing Surveys (CSUR)
Issues in Software Maintenance
ACM Computing Surveys (CSUR)
Assessing the Changeability of two Object-Oriented Design Alternatives—a Controlled Experiment
Empirical Software Engineering
Impact of experience on maintenance skills
Journal of Software Maintenance: Research and Practice
A web-based support environment for software engineering experiments
Nordic Journal of Computing
Including Practical Software Evolution in Software Engineering Education
CSEET '01 Proceedings of the 14th Conference on Software Engineering Education and Training
Collecting Feedback during Software Engineering Experiments
Empirical Software Engineering
An investigation into keystroke latency metrics as an indicator of programming performance
ACE '05 Proceedings of the 7th Australasian conference on Computing education - Volume 42
Software Comprehension/Maintenance: An Introductory Course
ICSENG '05 Proceedings of the 18th International Conference on Systems Engineering
Journal of Systems and Software
Using formal models to objectively judge quality of multi-threaded programs in empirical studies
Proceedings of the 2008 international workshop on Models in software engineering
Exploring accessibility and visibility relationships in java
Proceedings of the 13th annual conference on Innovation and technology in computer science education
Does the level of detail of UML models affect the maintainability of source code?
MODELS'11 Proceedings of the 2011th international conference on Models in Software Engineering
Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering
To what extent can maintenance problems be predicted by code smell detection? - An empirical study
Information and Software Technology
Hi-index | 0.00 |
It is widely accepted that software maintenance absorbs a significant amount of the effort expended in software development. Proper training of both university students and professional developers is required in order to improve software maintenance. Understanding cognitive difficulties the students have while maintaining object-oriented systems is a prerequisite for improving their university education and preparing them for jobs in industry. The goal of the experiment reported in this paper is to explore the difficulties of students who maintain an unfamiliar object-oriented system. The subjects were 34 students in their third 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 seven-hour long experiment. The major difficulties were related to understanding program logic, algorithms, finding change impacts, and inheritance of the functionality. Based on these results we suggest teaching the basics of impact analysis and introducing examples of modifying larger object-oriented programs in courses on object-oriented programming.