The past two decades have seen increasing sophistication in software work,
Now and in the future, the work of both practitioners and researchers would
be helped by a more objective and finer granularity recognition of types o
f softa;are evolution and software maintenance activities as actually done,
To these ends, this paper proposes a clarifying redefinition of the types
of software evolution and software maintenance. The paper bases the propose
d classification not on people's intentions but upon objective evidence of
maintainers' activities ascertainable from observation of activities and ar
tifacts, and/or a before and after comparison of the software documentation
, The classification includes taking into account in a semi-hierarchical ma
nner evidence of the change or lack thereof in: (1) the software, (2) the d
ocumentation, (3) the properties of the software, and (4) the customer-expe
rienced functionality: A comparison is made with other classifications and
typologies. The paper provides a classified list of maintenance activities
and a condensed decision tree as a summary guide to the proposed evidence-b
ased classification of the types of software evolution and software mainten
ance. Copyright (C) 2001 John Wiley & Sons, Ltd.