Evolving Software Systems - Mens, Tom.; Serebrenik, Alexander; Cleve, Anthony; SpringerLink (Online service) (Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 2014)
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.
Part I Evolving Software Artefacts -- 1 An Overview of Requirements Evolution -- 2 Coupled Evolution of Software Meta models and Models -- 3 Software Product Quality Models -- Part II Techniques -- 4 Search Based Software Maintenance: Methods and Tools -- 5 Mining Unstructured Software Repositories -- 6 Leveraging Web 2.0 for Software Evolution -- Part III Evolution of Specific Types of Software Systems -- 7 Evolution of Web Systems -- 8 Runtime Evolution of Highly Dynamic Software -- 9 Evolution of Software Product Lines -- 10 Studying Evolving Software Ecosystems based on Ecological Models -- Part IV Appendices -- A Emerging Trends in Software Evolution -- B List of Acronyms -- C Glossary of Terms -- D Resources -- E Datasets.
Keywords: Computer science; Software engineering; Information Systems; Computer Science; Software Engineering; Management of Computing and Information Systems; Information Systems Applications (incl. Internet).