Hypothesis-based concept assignment in software maintenance

N. Gold, K. Bennett
<span title="">2002</span> <i title="Institution of Engineering and Technology (IET)"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/ifjlwjvjg5fv3irmlpg2d6u4ii" style="color: black;">IEE Proceedings - Software</a> </i> &nbsp;
The Problem The majority of the lifetime cost of a software system is taken up by the activity of software maintenance [3] . The main reason for this is that to maintain existing code, the maintainer firstly requires a sufficient level of comprehension of it [5] . The ease with which a program can be comprehended, its comprehensibility, is dependent upon the ease to which the maintainer can gain access to the information contained within the source code itself. The cost of program comprehension
more &raquo; ... in software maintenance is dependent upon the programmer building their mental model, by searching for beacons in the code [5] . The ease of this search, or the comprehensibility of the program, is in turn strongly influenced by: • The format the information is presented in • The degree of difficulty in acquiring the information • The amount of information to be acquired. The Approach The comprehensibility of a program is strongly influenced by its typographical style [4] (presentation of information), the number of concepts it contains [2] (amount of information to be acquired) and its spatial complexity [1] (degree of difficulty). These factors relate to how evolvable a program is through its comprehensibility. The approach we applied was to capture these factors, relating them to changes in the source code of several COBOL programs over their evolution. This enabled us to begin to understand how difficult a program is to comprehend. Whereby this understanding is aimed at identifying how these factors have been changed through the application of maintenance and what relationship exists between them. Initial results of applying this approach indicate that the programs studied had been continually changed to maintain their fitness in satisfying the purpose they were designed to fulfil. These changes have probably made the process of comprehension more difficult. This was shown through an increase in the amount of information in the programs, as indicated by an increase in the number of concepts. In addition, by increasing the difficulty faced by a maintainer in acquiring the information contained within the programs, through an increase in the spatial complexity. Furthermore, our results also indicate that maintainers impose their own typographical style upon a program to aid their comprehension of that program. Conclusions and Further Work This paper has briefly presented an approach to identifying the comprehensibility of a program and initial results from its application. The results obtained so far, indicate that this approach is useful in modelling the comprehensibility of a program as it evolves. However further work is required to calibrate this approach to more accurately reflect comprehensibility and to identify at what point corrective action should be undertaken to maintain the quality of the program.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1049/ip-sen:20020549">doi:10.1049/ip-sen:20020549</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/deysytcctzed7lzh77lgcooiju">fatcat:deysytcctzed7lzh77lgcooiju</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20170819200545/https://www.computer.org/csdl/proceedings/icsm/2004/2213/00/22130530.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/ad/55/ad55be218f8db153158f5cc10582d463eda8fd44.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1049/ip-sen:20020549"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> Publisher / doi.org </button> </a>