Software Evolution and Maintenance
Software Evolution and Maintenance
|
|
When software systems are embedded in real world domains, their active and on-going use presents a number of challenges, enumerated here as Lehman's Eight Laws of Software Evolution.
1 | Continuing Change | Systems must be continually adapted else they become progressively less satisfactory in use |
2 | Increasing Complexity | As a system is evolved its complexity increases unless work is done to maintain or reduce it |
3 | Self Regulation | Global system evolution processes are self-regulating |
4 | Conservation of Organisational Stability | Unless feedback mechanisms are appropriately adjusted, average effective global activity rate in an evolving system tends to remain constant over product lifetime |
5 | Conservation of Familiarity | In general, the incremental growth and long term growth rate of systems tend to decline |
6 | Continuing Growth | The functional capability of systems must be continually increased to maintain user satisfaction over the system lifetime |
7 | Declining Quality | Unless rigorously adapted to take into account changes in the operational environment, the quality of systems will appear to be declining |
8 | Feedback System | Evolution processes are multi-level, multi-loop, multi-agent feedback systems |
The study of these challenges has been the focus of a number of professional organizations and academic research groups. The following internet resources provide a range of related information, ranging from introductory tutorials to publication of the latest research.
- Tutorials
-
On-line introductions to the terminology and techniques of working with existing software include:
- Bibliographies
-
There's a large body of published materials covering the topic of software maintenance. Lists of these writings include:
- Academic and Government Sites
-
There are a number of academic and government groups which are focused on legacy code and software evolution:
- Organizations
-
- Conferences
-
As we all hope for progress against the pandemic and a return to in-person conferences in 2022, we send our best wishes for health and safety to all.
|
Legacy code, software evolution
and software maintenance - related sites