Research methodology, from cognitive science and artificial intelligence, is applied to theproblem of software representation to support the process of software change. A model of software to support change, suggested by thecurrentresearch, ispresented. Populating that model requires data from tasks related to codebased functional decomposition, data abstraction and functional data flows. A competence model for the task of code-based functional decomposition is proposed. The Problem of Software ChangeSoftware maintenance is the process of incremental change. It includes fixing incorrect software functions (corrective); responding to changing user needs (perfective); and responding to changes in the operating environment (adaptive) [PRE 871.Limits on our ability to effect needed change within large software applications is a serious problem. Not only is the cost of changing software high, but there is significant cost associated with lost opportunity. We often do not carry out needed change because the risk is too great. An improved ability to carry out change can lead to prolonged system life and thus reduce the redevelopment costs currently incurred when barriers to change force the prematureredesign andreimplemention of large software applications [RAM 84, IEEE 881.Current approaches to the problem include new design methodology to create maintainable software [AGR 861, automating current methodology in the form of CASE (computer aided softwareengineering) tools [CHA 861, softwaremodels for maintenance [CHE 89, HEI 891 and using descriptive research methods from cognitive science and artificial intelligence to study the ways in which experts cope with the problems of software change [OLS 871. The success of better design methodology depends onunderstanding what is required to support the process of change. CASE tools basedonexistingmaintenancemethodologyrun the risk of amplifying the current dilemma. The contribution of descriptiveresearch, at least during the discovery phase, depends on observing expert behavior in real situations (large software applications, not toy problems) and on our ability to reduce the observations to effective theory relating to theprocess of software change.Research studies of behavior in field settings can contribute to a better understanding of the change process and can provide a basisforimprovedthmry foruseinfutureCASE tools. However, there are many methodological questions that must be explored and answered before this objective can be achieved. This paper describes our current research related to software representation to support the process of change with emphasis on such methodological issues. The Research QuestionWe seek a computational model of the software change process, including models of each type of task carried out during the change process and how knowledge about the software is used to support that task. Current research is focused on two components of this problem. These are, "What needs to be known about a software application to change it?" and "How to obtain t...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.