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.
Identifer | oai:union.ndltd.org:ADTP/258828 |
Date | January 2005 |
Creators | Parkin, Peter, Information Systems, Technology & Management, Australian School of Business, UNSW |
Publisher | Awarded by:University of New South Wales. School of Information Systems, Technology and Management |
Source Sets | Australiasian Digital Theses Program |
Language | English |
Detected Language | English |
Rights | Copyright Peter Parkin, http://unsworks.unsw.edu.au/copyright |
Page generated in 0.0018 seconds