Return to search

An empirical investigation of maintainer behaviour occurring during software maintenance

In recent years many tools and techniques have been proposed and even implemented which support maintenance programmers to gain an understanding of existing source code. However, studies have found that some tools are of marginal benefit and not appropriate for all maintenance tasks. This may be due to tools having been designed with little regard to the common behavioural practices that occur during software maintenance tasks because the current state of knowledge of such practices is quite limited. The aim of this study is to alleviate the above situation by performing a detailed behavioural analysis of software maintenance tasks undertaken under laboratory experiment conditions. To support this aim an experiment was conducted in which twenty-nine student subjects experienced in C programming independently undertook one of two maintenance tasks on the same C program in a university environment. The data produced from the experiment included subjects??? interactions with documents and code and their responses to program comprehension questions at the end of the task. The results indicate that maintenance task success is associated with a heightened concentration on high-level procedures that control the execution of lower level procedures. Among subjects, IT industry experience was linked to efficient comprehension of program and task documentation and the performance of more code searches. In general, code searches mainly involved searches for procedure name references. Compared to subjects undertaking the enhancement task, subjects performing the complex corrective task utilised program documentation more but also obtained a greater understanding of the elementary operations and control-flow of the program. In addition, this study illustrates a method to identify common information usage strategies from the recorded maintenance behaviour of subjects. Largely unsuccessful attempts were also made to sequentially analyse maintenance behaviour. This lack of success is possibly attributable to the as-needed comprehension approach adopted by subjects. The results of this research suggest that cost-effective maintenance of software is best supported using tools implementing facilities for feature location and visualisation of the control-flow of a program. The former facility would be most helpful to maintainers undertaking corrections, whereas the latter would particularly assist maintainers undertaking enhancements.

Identiferoai:union.ndltd.org:ADTP/258828
Date January 2005
CreatorsParkin, Peter, Information Systems, Technology & Management, Australian School of Business, UNSW
PublisherAwarded by:University of New South Wales. School of Information Systems, Technology and Management
Source SetsAustraliasian Digital Theses Program
LanguageEnglish
Detected LanguageEnglish
RightsCopyright Peter Parkin, http://unsworks.unsw.edu.au/copyright

Page generated in 0.0022 seconds