DocumentCode
3561622
Title
Novice Code Understanding Strategies during a Software Maintenance Assignment
Author
Szabo, Claudia
Author_Institution
Sch. of Comput. Sci., Univ. of Adelaide, Adelaide, SA, Australia
Volume
2
fYear
2015
Firstpage
276
Lastpage
284
Abstract
Existing efforts on teaching software maintenance have focussed on constructing adequate codebases that students with limited knowledge could maintain, with little focus on the learning outcomes of such exercises and of the approaches that students employ while performing maintenance. An analysis of the code understanding strategies employed by novice students as they perform software maintenance exercises is fundamental for the effective teaching of software maintenance. In this paper, we analyze the strategies employed by second year students in a maintenance exercise over a large codebase. We analyze student reflections on their code understanding, maintenance process and the use of tools. We show that students are generally capable of working with large codebases. Our study also finds that the majority of students follow a systematic approach to code understanding, but that their approach can be significantly improved through the use of tools and a better understanding of reverse engineering approaches.
Keywords
computer science education; reverse engineering; software maintenance; adequate codebases; learning outcomes; novice code understanding strategies; novice students; reverse engineering approaches; second year students; software maintenance assignment; software maintenance exercises; Education; Maintenance engineering; Software engineering; Software maintenance; Systematics; Testing; cognitive models; software engineering; software maintenance;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Type
conf
DOI
10.1109/ICSE.2015.341
Filename
7202973
Link To Document