© 2008

Software Evolution


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

  1. 1.Institut InformatiqueUniversity of Mons-HainautMonsBelgium
  2. 2.Dept. Mathematics and Computer ScienceUniversiteit AntwerpenAntwerpenBelgium

About the authors

Tom Mens is professor at the Institute of Computer Science of the University of Mons-Hainaut in Belgium. He obtained his PhD in Science in 1999 at the Vrije Universiteit Brussel on the topic of software evolution. Being one of the leading researchers in this domain, he currently directs the ERCIM Working Group on Software Evolution.

Serge Demeyer is professor at the University of Antwerp (Department of Mathematics and Computer Science), where he leads a research group investigating the theme of "Software Reengineering" (LORE - Lab On REengineering). His main research interest concerns software engineering (more precisely, reengineering of object-oriented software systems) but due to historical reasons he maintains a heavy interest in hypermedia systems as well. He is an active member of the corresponding international research communities, serving in various conference organization and program committees.

Bibliographic information

Industry Sectors
Chemical Manufacturing
IT & Software
Consumer Packaged Goods
Finance, Business & Banking
Energy, Utilities & Environment


From the reviews:

"Serge and Tom have put together a volume on software evolution research that, well, speaks volumes! I read it cover to cover, jotting down dozens of notes and ideas and insights that I took from nearly every chapter. The bibliography alone is worth the price of the book. Software evolution research itself evolves rapidly – and this book captures not only the state-of-theresearch but also the trajectory the field is following." - David Notkin, University of Washington, Seattle, WA, USA

"I liked this book very much. The editors have done an excellent job of gathering well written chapters from leading researchers in the field of software evolution, and editing them into a coherent volume that is timely and valuable. The topics are well chosen to cover a range of both established and novel research ideas. The organization is intelligent, allowing readers to pick and choose topics of particular interest to them. I especially like how accessible the material is to non-experts: ideas are carefully explained before being expounded upon (see, for example, the chapter on aspect-oriented software development). I certainly learned a lot reading this book, and I look forward to using it the next time I teach a graduate seminar in software evolution." - Michael Godfrey, University of Waterloo, Waterloo, ON, Canada

"Software evolution is an important field for both software engineering practitioners and researchers. This book gives an excellent overview of what is happening in software evolution research and where the practice of software evolution is heading. The authors addressed several research challenges that software evolution presents and described the state-of-the-art in their solution. I am convinced that both the researchers and practitioners will find this volume very insightful and useful." - Václav Rajlich, Wayne State University, Detroit, MI, USA

"This book highlights the importance of the field … . This jointly produced book appears to be aimed at researchers and professionals who wish to obtain a sound introduction and a comprehensive overview of current activity in software. Cyberneticinas and those involved in both systems and management science where an up-to-date appreciation of the initiatives in the software field, are required, will surely find this book a very worthwhile purchase. … the book may be suitable for an advanced course on software evolution." (Kybernetes, Vol. 37 (6), 2008)

"Mens and Demeyer ... have compiled 11 high-quality contributed chapters on software evolution into an eponymous volume."
"all chapters are written in a very readable manner, which makes them accessible to a much wider audience than just software-engineering researchers."
"the book does a good job of presenting a comprehensive overview of the field"
(Mirjana Ivanovic, Computing Reviews June 2008)