Software Evolution

  • Tom Mens
  • Serge Demeyer

Table of contents

  1. Front Matter
    Pages I-XVIII
  2. Introduction and Roadmap: History and Challenges of Software Evolution

  3. Understanding and Analysing Software Evolution

    1. Front Matter
      Pages 13-13
    2. Rainer Koschke
      Pages 15-36
    3. Marco D’Ambros, Harald Gall, Michele Lanza, Martin Pinzger
      Pages 37-67
    4. Thomas Zimmermann, Nachiappan Nagappan, Andreas Zeller
      Pages 69-88
  4. Reengineering of Legacy Systems

    1. Front Matter
      Pages 89-89
    2. Serge Demeyer
      Pages 91-104
    3. Jean-Luc Hainaut, Anthony Cleve, Jean Henrard, Jean-Marc Hick
      Pages 105-138
    4. Reiko Heckel, Rui Correia, Carlos Matos, Mohammad El-Ramly, Georgios Koutsoukos, Luis Andrade
      Pages 139-170
  5. Novel Trends in Software Evolution

    1. Front Matter
      Pages 171-171
    2. Leon Moonen, Arie van Deursen, Andy Zaidman, Magiel Bruntink
      Pages 173-202
    3. Kim Mens, Tom Tourwé
      Pages 203-232
    4. Olivier Barais, Anne Françoise Le Meur, Laurence Duchien, Julia Lawall
      Pages 233-262
    5. Juan Fernandez-Ramil, Angela Lozano, Michel Wermelinger, Andrea Capiluppi
      Pages 263-288
  6. Back Matter
    Pages 289-347

About this book


Software has become omnipresent and vital in our information-based society, so all software producers should assume responsibility for its reliability. While "reliable" originally assumed implementations that were effective and mainly error-free, additional issues like adaptability and maintainability have gained equal importance recently. For example, the 2004 ACM/IEEE Software Engineering Curriculum Guidelines list software evolution as one of ten key areas of software engineering education.

Mens and Demeyer, both international authorities in the field of software evolution, together with the invited contributors, focus on novel trends in software evolution research and its relations with other emerging disciplines such as model-driven software engineering, service-oriented software development, and aspect-oriented software development. They do not restrict themselves to the evolution of source code but also address the evolution of other, equally important software artifacts such as databases and database schemas, design models, software architectures, and process management. The contributing authors provide broad overviews of related work, and they also contribute to a comprehensive glossary, a list of acronyms, and a list of books, journals, websites, standards and conferences that together represent the community’s body of knowledge.

Combining all these features, this book is the indispensable source for researchers and professionals looking for an introduction and comprehensive overview of the state of the art. In addition, it is an ideal basis for an advanced course on software evolution.


Aspect-oriented programming architecture aspect-oriented programming (AOP) database databases design development programming repositories software software architecture software architectures software development software engineering standards

Authors and affiliations

  • Tom Mens
    • 1
  • Serge Demeyer
    • 2
  1. 1.Institut InformatiqueUniversity of Mons-HainautMonsBelgium
  2. 2.Dept. Mathematics and Computer ScienceUniversiteit AntwerpenAntwerpenBelgium

Bibliographic information