Software aging

@article{Parnas1994SoftwareA,
  title={Software aging},
  author={David Lorge Parnas},
  journal={Proceedings of 16th International Conference on Software Engineering},
  year={1994},
  pages={279-287}
}
  • D. Parnas
  • Published 21 May 1994
  • Computer Science
  • Proceedings of 16th International Conference on Software Engineering
Programs, like people, get old. We can't prevent aging, but we can understand its causes, take steps to limits its effects, temporarily reverse some of the damage it has caused, and prepare for the day when the software is no longer viable. A sign that the software engineering profession has matured will be that we lose our preoccupation with the first release and focus on the long-term health of our products. Researchers and practitioners must change their perception of the problems of… 

Modeling and Analysis of Software Aging Process

TLDR
A model of successful maintenance that can represent how maintainability of each software module changes as it ages is proposed and some of the metrics fit the model; i.e., values of those metrics seem to be proportional to the degree of maintainability.

Twenty years of software aging research

TLDR
It is argued these two visions of software aging should be reconciled, in the hope to open new research areas able to provide a wider and deeper understanding of the very nature ofSoftware aging phenomena.

Causes of premature aging during software development: an observational study

TLDR
This study examines three projects at code level and finds many negative changes causing anti-patterns, at the package, class, and method levels, and finds the specific reasons for the poor design decisions.

The Dual Nature of Software Aging: Twenty Years of Software Aging Research

  • S. Russo
  • Computer Science
    2014 IEEE International Symposium on Software Reliability Engineering Workshops
  • 2014
TLDR
It is argued these two visions of software aging should be reconciled, in the hope to open new research areas able to provide a wider and deeper understanding of the very nature ofSoftware aging phenomena.

Challenges in software evolution

TLDR
This article describes what it believes to be some of the most important research challenges in software evolution.

Evaluating design decay during software evolution

TLDR
The approach considers changes to a class as an earthquake that propagates through a long chain of intermediary classes, i.e., how far a change propagation will proceed from a “changed class” to other classes, to measure the scope of change propagation in a system.

On the Evolution of Source Code and Software Defects

TLDR
Evidence is provided that an integrated view of software evolution, combining source code and software defects information, supports an extensible set of software maintenance tasks.

Challenges in Software Evolution Conference or Workshop Item

TLDR
This article describes what it believes to be some of the most important research challenges in software evolution, and provides novel research directions in the software evolution domain.

Evolving Critical Systems

  • M. Hinchey
  • Computer Science
    2015 Asia-Pacific Software Engineering Conference (APSEC)
  • 2015
TLDR
A research agenda is addressed for building software in computer based systems that is highly reliable and retains this reliability as it evolves, either over time or at run-time and is illustrated with a complex example from the domain of space exploration.

Software aging assessment through a specialization of the SQuaRE quality model

TLDR
In the last years the software application portfolio has become a key asset for almost all companies, and during their lives, applications undergo lots of changes to add new functionalities or to refactor older ones, causing the phenomenon known as software aging.
...

References

SHOWING 1-10 OF 13 REFERENCES

The Modular Structure of Complex Systems

TLDR
This paper shows how the software design technique known as information hiding, or abstraction, can be supplemented by a hierarchically structured document, which it is called a module guide, intended to allow both designers and maintainers to identify easily the parts of the software that they must understand, without reading irrelevant details.

Using documentation as a software design medium

TLDR
A software design method based on the principles of separation of concerns and information hiding is described, and many elements of the design method are applied to the development of the No. 2 Service Evaluation System (SES), a multiprocessor data acquisition and transaction system.

Education for computing professionals

TLDR
The author examines the state of computer science education and discusses the trend whereby computer science graduates are ending up in engineering jobs, arguing that computer science programs must return to a classical engineering approach that emphasizes fundamentals.

Documentation of requirements for computer systems

TLDR
A functional approach to specifying the requirements of a computer system is discussed, a refinement of the method used in the A-7 aircraft software requirements model document.

Tabular Representation of Relations

TLDR
10 classes of tables are described, giving their syntax and semantics, and several abbreviations that can be useful in tables are introduced.

Functional Documentation for Computer Systems Engineering (Version 2)

  • CRL Report
  • 1991

Towards a Formal Semantics of Tables ” , CRL Report 264

    Functional Documentation for Computer Systems Engineering (Version 2)

    • CRL Report 237,
    • 1991

    Normal and Inverted Function Tables

    • CRL Report 265,CRL,
    • 1993