  Software systems situated in network environment may experience performance
degradation, availability decrease and even crash during long time running,
which is called software aging. This phenomenon has been studied for more than
15 years, but most of the literatures studied software as a black box, none of
them uncovered the fundamental and widely accepted mechanism of software aging
as far as we know. Through analyzing the characteristics between biological
aging and software aging, we find some interesting common points and bridge the
gap between these two seemingly unrelated phenomena. The free radical aging
theory in biological studies is also applicative to explore the mechanism and
model of software aging. This paper finds an equivalent concept named `software
free radical' in software aging to free radical in biological aging. In our
study, the accumulation of `software free radical' is a root cause of software
aging. Using the free radical modeling methodology in biological aging, we give
a model for describing the kinetic of software aging based on feedback loops.
Although this paper doesn't give enough theoretical proof of the modeling
method, the practical results show that the feedback loop model can describe
the kinetic of software aging precisely. To further validate the aging
mechanism, we propose several software rejuvenation strategies focusing on
cleaning the `software free radical'. The results show that software aging can
be mitigated effectively by strengthening negative feedback loop or weakening
positive feedback loop. This paper is the first try to answer the question `How
software ages' through interdisciplinary studies. Leveraging the conclusions in
this paper, people can design better software systems or keep their systems at
a high performance level during long time running.
