Software product lines (SPL) aim at reducing time-to-market and increasing software quality through extensive, planned reuse of artifacts. An essential activity in SPL is variability management, i.e., defining and managing commonality and variability among member products. Due to the large scale and complexity of today's software-intensive systems, variability management has become increasingly complex to conduct. Accordingly, tool support for variability management has been gathering increasing momentum over the last few years and can be considered a key success factor for developing and maintaining SPLs. While several studies have already been conducted on variability management, none of these analyzed the available tool support in detail. In this work, we report on a survey in which we analyzed 37 existing variability management tools identified using a systematic literature review to understand the tools’ characteristics, maturity, and the challenges in the field. We conclude that while most studies on variability management tools provide a good motivation and description of the research context and challenges, they often lack empirical data to support their claims and findings. It was also found that quality attributes important for the practical use of tools such as usability, integration, scalability, and performance were out of scope for most studies.
Peer-reviewedThe use of the term ecosystem in the context of extensible software\ud platforms and third-party developers or user communities\ud has made us ponder about the similarities between software ecosystems\ud and natural ecosystems. We therefore compare software\ud ecosystems and natural ecosystems to present an agenda for further\ud research by analyzing some key characteristics of both types\ud of ecosystems. We discuss the regulatory factors and mechanisms\ud existing in nature, and then deduce key challenges that need to be\ud dealt with, in order to achieve healthy operation of software ecosystems
1 December 2016 in Information and Software Technology
Various approaches toward the development of sustainable software systems have been proposed by the requirements engineering community over the last decade. We conducted a systematic mapping study, analyzed 55 publications, and identified 29 approaches that have been published since the year 2000. We analyzed how the approaches evolved over time and how the publications and authors are influenced by each other. Furthermore, the approaches are analyzed in terms of their supported requirements engineering activities, along with the evidence provided in the publications. Additionally, we also analyzed which sustainability definitions have been used, if an iterative application of the approaches is discussed, and if the approaches also provide a tool-support for practitioners. We noticed an increase of publications on requirements engineering approaches toward sustainability in the last years, whereas a majority discuss sustainability based on the same multi-dimensional concept. Although different case studies have been already conducted, we noticed a lack of an industrial application. Our main findings concern the need of an evaluation on how the proposed requirements engineering approaches can also be applied in agile software development processes. Additionally, we also promote the development of supporting software tools to support practitioners in adapting the proposed approaches.
In recent years, there has been growing interest in research on sustainability in software engineering. Despite active research in this area, there is still a lack of understanding of how sustainability is perceived by software professionals. To understand how software sustainability is currently dealt with in practice, we performed an interview study with 10 software project team leads from nine companies in Austria. Our study shows that practitioners regard software sustainability as important but are technically minded with respect to sustainability. Organizational and economic issues are addressed, but environmental considerations are missing. The perceived influence of various project factors on sustainability is partly diverse, suggesting that the meaning of sustainability needs to be refined for the specific project and application context.