editorial

1
ELSEVIER Information and Software Technology 38 (1996) 671 Editorial INFI)RMATIyMI AND soFTwARE TWMXOGY Software maintenance remains something of an enigma. On the one hand, a number of surveys over the past 15 years have suggested that software mainte- nance comprises the great majority of total lifecycle costs in most application domains. Much of what is called software development and software engineering actually comprises the modification and enhancement of existing systems to meet new user requirements. This is an easy task when the software system is small (e.g. less than textbook sized) but is very challenging for large-scale industrial software. On the other hand, the majority of software engineer- ing research effort is clearly focused on producing new software. It is hoped that novel techniques adopted for initial development will ameliorate the maintenance pro- blem, although there is regrettably little evidence of this. Software maintenance is thus about changing existing systems. As Lehman pointed out in his well known Laws, such change is inevitable, and only successful software needs to evolve; unsuccessful software can remain on the shelf. To change software we need to be able to under- stand it, and in a large system we may be obliged to use an understanding of only parts of the whole system. Despite this, the software must not regress after modifi- cation, so testing is a crucial part of maintenance to ensure reliability. Typically, a large program has been modified many times, usually in a non-structured way, so we have to work with the code as it is, not how we would like it to be. In view of the importance of the field, the Centre for Software Reliability decided to make software mainte- nance the theme of its 1994 annual conference, which was held in Dublin. The papers that are published in this special issue have all been refereed, and in the view of the referees represent the best papers from the confer- ence. They also provide a good cross-section of the pro- blems of - and solutions to - software maintenance issues such as comprehension, modelling, metrics, pro- cesses and legacy software. Keith Bennett Conference Chair Computer Science Department University of Durham South Road, Durham DHl 4QX, UK Elsevier Science B.V. PZZ SO950-5849(96)01131-7

Upload: keith-bennett

Post on 05-Jul-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

ELSEVIER Information and Software Technology 38 (1996) 671

Editorial

INFI)RMATIyMI AND

soFTwARE TWMXOGY

Software maintenance remains something of an enigma. On the one hand, a number of surveys over the past 15 years have suggested that software mainte- nance comprises the great majority of total lifecycle costs in most application domains. Much of what is called software development and software engineering actually comprises the modification and enhancement of existing systems to meet new user requirements. This is an easy task when the software system is small (e.g. less than textbook sized) but is very challenging for large-scale industrial software.

On the other hand, the majority of software engineer- ing research effort is clearly focused on producing new software. It is hoped that novel techniques adopted for initial development will ameliorate the maintenance pro- blem, although there is regrettably little evidence of this.

Software maintenance is thus about changing existing systems. As Lehman pointed out in his well known Laws, such change is inevitable, and only successful software needs to evolve; unsuccessful software can remain on the shelf. To change software we need to be able to under- stand it, and in a large system we may be obliged to use

an understanding of only parts of the whole system. Despite this, the software must not regress after modifi- cation, so testing is a crucial part of maintenance to ensure reliability. Typically, a large program has been modified many times, usually in a non-structured way, so we have to work with the code as it is, not how we would like it to be.

In view of the importance of the field, the Centre for Software Reliability decided to make software mainte- nance the theme of its 1994 annual conference, which was held in Dublin. The papers that are published in this special issue have all been refereed, and in the view of the referees represent the best papers from the confer- ence. They also provide a good cross-section of the pro- blems of - and solutions to - software maintenance issues such as comprehension, modelling, metrics, pro- cesses and legacy software.

Keith Bennett Conference Chair

Computer Science Department University of Durham

South Road, Durham DHl 4QX, UK

Elsevier Science B.V. PZZ SO950-5849(96)01131-7