Title
Variability mechanisms in software ecosystems.
Abstract
Context: Software ecosystems are increasingly popular for their economic, strategic, and technical advantages. Application platforms such as Android or iOS allow users to highly customize a system by selecting desired functionality from a large variety of assets. This customization is achieved using variability mechanisms.Objective: Variability mechanisms are well-researched in the context of software product lines. Although software ecosystems are often seen as conceptual successors, the technology that sustains their success and growth is much less understood. Our objective is to improve empirical understanding of variability mechanisms used in successful software ecosystems.Method: We analyze five ecosystems, ranging from the Linux kernel through Eclipse to Android. A qualitative analysis identifies and characterizes variability mechanisms together with their organizational context. This analysis leads to a conceptual framework that unifies ecosystem-specific aspects using a common terminology. A quantitative analysis investigates scales, growth rates, and-most importantly-dependency structures of the ecosystems.Results: In all the studied ecosystems, we identify rich dependency languages and variability descriptions that declare many direct and indirect dependencies. Indirect dependencies to abstract capabilities, as opposed to concrete variability units, are used predominantly in fast-growing ecosystems. We also find that variability models-while providing system-wide abstractions over code work best in centralized variability management and are, thus, absent in ecosystems with large free markets. These latter ecosystems tend to emphasize maintaining capabilities and common vocabularies, dynamic discovery, and binding with strong encapsulation of contributions, together with uniform distribution channels.Conclusion: The use of specialized mechanisms in software ecosystems with large free markets, as opposed to software product lines, calls for recognition of a new discipline variability encouragement. (C) 2014 Elsevier B.V. All rights reserved.
Year
DOI
Venue
2014
10.1016/j.infsof.2014.05.005
Information and Software Technology
Keywords
Field
DocType
Software ecosystems,Empirical software engineering,Software product lines,Variability management,Mining software repositories
Data mining,Android (operating system),Systems engineering,Terminology,Computer science,Communication channel,Software,Empirical process (process control model),Conceptual framework,Linux kernel,Personalization
Journal
Volume
Issue
ISSN
56
11
0950-5849
Citations 
PageRank 
References 
26
0.96
22
Authors
7
Name
Order
Citations
PageRank
Thorsten Berger160334.35
Rolf-Helge Pfeiffer2606.38
Reinhard Tartler3260.96
Steffen Dienst4260.96
Krzysztof Czarnecki56064411.57
Andrzej Wasowski6128260.47
Steven She764920.69