Software Evolution

Authored by: Andy Zaidman , Martin Pinzger , Arie van Deursen

Encyclopedia of Software Engineering

Print publication date:  November  2010
Online publication date:  November  2010

Print ISBN: 9781420059779
eBook ISBN: 9781351249270
Adobe ISBN:


 Download Chapter



Software evolution is the term used in software engineering to refer to the process of developing an initial version of the software and then repeatedly updating it to satisfy the user's needs. Software evolution is an inevitable activity, as useful and successful software stimulates users to request new and improved features. However, evolving a software system is typically difficult and costly. In this entry, we provide a historical overview of the field and survey four important research areas: program comprehension, reverse engineering, reengineering, and software repository mining. We report on key approaches and results, and indicate a number of challenges open to ongoing and future research in software evolution.

Search for more...
Back to top

Use of cookies on this website

We are using cookies to provide statistics that help us give you the best experience of our site. You can find out more in our Privacy Policy. By continuing to use the site you are agreeing to our use of cookies.