Like humans, software too gets old. In this talk, we ask, and respond
to, the following intriguing question:
* Can we reduce the rate of software's aging?
Discussing what aging means and its causes, we present a new approach, the "Model of Congruence" as a possible way to reduce the rate of aging.
We then push the bar up to the "maximum" and ask a second question:
* Can we make software immortal?
Here, we present a challenge, called the "Software Immortality Challenge" that can be used to filter out systems that have failed to meet the challenge. The ones that have not been filtered out at any given point in time are only because they have not failed - yet!
Of possible interest to some is the implication of this work on highlighting the limitations of the discipline of software "engineering" and the need to elevate to the discipline of software "evolution".
(This work was carried out in collaboration with Jose* Tass*, University
of New Brunswick, Canada).