Springer, 2023. — 321 p. — ISBN: 978-3-031-36059-6.
This book highlights recent research advances in various domains related to software ecosystems such as library reuse, collaborative development, cloud computing, open science, sentiment analysis, and machine learning. A key aspect of software ecosystems is that software products belong to ever more interdependent networks of co-evolving software components. The ever-increasing importance of social coding platforms has made software ecosystems indispensable to software practitioners, in commercial as well as open-source settings.
Well-known examples of digital platform ecosystems are the mobile software ecosystems provided by companies such as Microsoft, Apple, and Google. The company owns and controls an app store as a central platform to which other companies or individuals can contribute apps, which in turn can be downloaded and installed by mobile device users. The systematic mapping studies by de Lima Fontao et al. report on the abundant research that has been conducted on these mobile software ecosystems.
Any software system that provides a mechanism for third parties to contribute plug-ins or extensions that enhance the functionalities of the system can be considered a digital software ecosystem. Examples of these are configurable text editors such as Emacs and Vim and integrated software development environments (IDEs) such as IntelliJ IDEA, VS Code, NetBeans, and Eclipse. The latter ecosystem in particular has been the subject of quite some research on its evolutionary dynamics. These examples show that digital platform ecosystems are not necessarily controlled by a single company. In many cases, they are managed by a consortium, foundation, or open-source community. For example, NetBeans is controlled by the Apache Foundation, and Eclipse is controlled by the Eclipse Foundation.
An Introduction to Software Ecosystems.
Part I Software Ecosystem Representations.
The Software Heritage Open Science Ecosystem.
Promises and Perils of Mining Software Package Ecosystem Data.
Part II Analyzing Software Ecosystems.
Mining for Software Library Usage Patterns Within an Ecosystem: Are We There Yet?
Emotion Analysis in Software Ecosystems.
Part III Evolution Within Software Ecosystems.
Analyzing Variant Forks of Software Repositories from Social Coding Platforms.
Supporting Collateral Evolution in Software Ecosystems.
Part IV Software Automation Ecosystems.
The GitHub Development Workflow Automation Ecosystems.
Infrastructure-as-Code Ecosystems.
Machine Learning for Managing Modeling Ecosystems: Techniques, Applications, and a Research Vision.
Mining, Analyzing, and Evolving Data-Intensive Software Ecosystems.