During the last few years, software evolution research has explored new domains such as the study of socio-technical aspects and collaboration between different individuals contributing to a software system, the use of search-based techniques and meta-heuristics, the mining of unstructured software repositories, the evolution of software requirements, and the dynamic adaptation of software systems at runtime. Also more and more attention is being paid to the evolution of collections of inter-related and inter-dependent software projects, be it in the form of web systems, software product families, software ecosystems, or systems of systems.
With this book, the editors present insightful contributions on these and other domains currently being intensively explored, written by renowned researchers in the respective fields of software evolution. Each chapter presents the state of the art in a particular topic, as well as the current research, available tool support, and remaining challenges. The book is complemented by a glossary of important terms used in the community, a reference list of nearly 1,000 papers and books, and tips on additional resources that may be useful to the reader (reference books, journals, standards and major scientific events in the domain of software evolution, and datasets).
This book is intended for all those interested in software engineering, and more particularly, software maintenance and evolution. Researchers and software practitioners alike will find in the contributed chapters an overview of the most recent findings, covering a broad spectrum of software evolution topics. In addition, it can also serve as the basis of graduate or postgraduate courses on e.g., software evolution, requirements engineering, model-driven software development or social informatics.During the last few years, software evolution research has explored new domains such as the study of socio-technical aspects and collaboration between different individuals contributing to a software system, the use of search-based techniques and meta-heuristics, the mining of unstructured software repositories, the evolution of software requirements, and the dynamic adaptation of software systems at runtime. Also more and more attention is being paid to the evolution of collections of inter-related and inter-dependent software projects, be it in the form of web systems, software product families, software ecosystems or systems of systems.
With this book, the editors present insightful contributions on these and other domains currently being intensively explored, written by renowned researchers in the respective fields of software evolution. Each chapter presents the state of the art in a particular topic, as well as the current research, available tool support and remaining challenges. The book is complemented by a glossary of important terms used in the community, a reference list of nearly 1,000 papers and books and tips on additional resources that may be useful to the reader (reference books, journals, standards and major scientific events in the domain of software evolution and datasets).
This book is intended for all those interested in software engineering, and more particularly, software maintenance and evolution. Researchers and software practitioners alike will find in the contributed chapters an overview of the most recent findings, covering a broad spectrum of software evolution topics. In addition, it can also serve as the basis of graduate or postgraduate courses on e.g., software evolution, requirements engineering, model-driven software development or social informatics.
Tom Mens
Model-Driven Software Engineering Requirements Engineering Software Ecosystems Software Evolution Software Life Cycle Software Product Lines Software Quality Software Reengineering Software Repositories
From the reviews:
“This book will be a great asset to our professional community. … This book is worth reading, and would be of particular interest to practitioners (as well as quality assurance and testing professionals), managers, and instructors. I strongly recommend this book, and I’ve proudly added it to my collection of volumes on software evolution.” (Mordechai Ben-Menachem, Computing Reviews, May, 2014)
"This book is an excellent overview of the latest research in software evolution as it covers a wide range of systems and artifacts as well as analysis techniques. The book is for everyone interested in evolving software systems. For students, it reveals the complexity and challenges after the initial release of a software system. For researchers, it’s the perfect starting point to identify new, important research challenges. For practitioners, it’s a fantastic introduction to the latest techniques and tools used in software engineering research such as search-based techniques and mining unstructured data. Thanks so much the editors and authors for putting together such a fabulous and inspiring book. I love it!" (Thomas Zimmermann, Microsoft Research, Redmond, WA, USA)
“Modern society depends on software flexibility. Yet at the same time, software loses a bit of its flexibility with every change made to it. The field of software evolution research aims at understanding the processes of software evolution, and at proposing methods and techniques to manage evolution. This book provides a wonderful overview of the state of the art in software evolution. The editors did a great job in identifying challenging areas of research, and found the right experts to present the state of the art. Important areas such as evolving product lines and web applications are covered, as are underlying evolution techniques such as repository mining and search-based analysis. The book is a great resource, and I have immediately shared it with my co-workers. Highly recommended!” (Arie van Deursen, Delft University of Technology, The Netherlands)