A Technology-Neutral Role-Based Collaboration Model for Software Ecosystems
- 1 Citations
- 1.7k Downloads
Abstract
In large-scale software ecosystems, many developers contribute extensions to a common software platform. Due to the independent development efforts and the lack of a central steering mechanism, similar functionality may be developed multiple times by different developers. We tackle this problem by contributing a role-based collaboration model for software ecosystems to make such implicit similarities explicit and to raise awareness among developers during their ongoing efforts. We extract this model based on realization artifacts in a specific programming language located in a particular source code repository and present it in a technology-neutral way. We capture five essential collaborations as independent role models that may be composed to present developer collaborations of a software ecosystem in their entirety, which fosters overview of the software ecosystem, analyses of duplicated development efforts and information of ongoing development efforts. Finally, using the collaborations defined in the formalism we model real artifacts from Marlin, a firmware for 3D printers, and we show that for the selected scenarios, the five collaborations were sufficient to raise awareness and make implicit information explicit.
Keywords
Software ecosystem Collaboration Role modeling MarlinNotes
Acknowledgments
This work was partially supported by the Christian Doppler Forschungsgesellschaft, Austria and KEBA AG, Austria. Further, this work was partially supported by the DFG (German Research Foundation) under grant SCHA1635/2-2 and by the European Commission within the project HyVar (grant agreement H2020-644298).
References
- 1.Bacchelli, A., Bird, C.: Expectations, outcomes, and challenges of modern code review. In: Proceedings of ICSE 2013 (2013)Google Scholar
- 2.Begel, A., Khoo, Y.P., Zimmermann, T.: Codebook: discovering and exploiting relationships in software repositories. In: Proceedings of ICSE 2010 (2010)Google Scholar
- 3.Berger, T., Lettner, D., Rubin, J., Grünbacher, P., Silva, A., Becker, M., Chechik, M., Czarnecki, K.: What is a feature?: a qualitative study of features in industrial software product lines. In: Proceedings of SPLC 2015 (2015)Google Scholar
- 4.Berger, T., Nair, D., Rublack, R., Atlee, J.M., Czarnecki, K., Wąsowski, A.: Three cases of feature-based variability modeling in industry. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 302–319. Springer, Heidelberg (2014)Google Scholar
- 5.Bosch, J.: From software product lines to software ecosystems. In: Proceedings of SPLC 2009 (2009)Google Scholar
- 6.Boucharas, V., Jansen, S., Brinkkemper, S.: Formalizing software ecosystem modeling. In: Proceedings of 1st International Workshop on Open Component Ecosystems (2009)Google Scholar
- 7.Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Boston (2001)Google Scholar
- 8.Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston (2000)Google Scholar
- 9.Dabbish, L., Stuart, C., Tsay, J., Herbsleb, J.: Social coding in github: transparency and collaboration in an open software repository. In: Proceedings of CSCW 2012 (2012)Google Scholar
- 10.Dourish, P., Bellotti, V.: Awareness and coordination in shared workspaces. In: Proceedings of CSCW 1992 (1992)Google Scholar
- 11.Dubinsky, Y., Rubin, J., Berger, T., Duszynski, S., Becker, M., Czarnecki, K.: An exploratory study of cloning in industrial software product lines. In: Proceedings of CSMR 2013 (2013)Google Scholar
- 12.Duc, A.N., Mockus, A., Hackbarth, R., Palframan, J.: Forking, coordination in multi-platform development: a case study. In: Proceedings of ESEM 2014 (2014)Google Scholar
- 13.Eugster, P.T., Felber, P.A., Guerraoui, R., Kermarrec, A.-M.: The many faces of publish/subscribe. ACM Comput. Surv. 35(2), 114–131 (2003)CrossRefGoogle Scholar
- 14.Frost, R.: Jazz and the eclipse way of collaboration. IEEE Softw. 24(6), 114–117 (2007)CrossRefGoogle Scholar
- 15.Gousios, G.: The ghtorrent dataset and tool suite. In: Proceedings of the 10th Working Conference on Mining Software Repositories, MSR 2013, pp. 233–236. IEEE Press, Piscataway (2013)Google Scholar
- 16.Gousios, G., Pinzger, M., van Deursen, A.: An exploratory study of the pull-based software development model. In: Proceedings of ICSE 2014 (2014)Google Scholar
- 17.Gousios, G., Zaidman, A., Storey, M.-A., van Deursen, A.: Work practices, challenges in pull-based development: the integrator’s perspective. In: Proceedings of ICSE 2015 (2015)Google Scholar
- 18.Gruber, T.R.: Toward principles for the design of ontologies used for knowledge sharing. Int. J. Hum.-Comput. Stud. 43(5–6), 907–928 (1995)CrossRefGoogle Scholar
- 19.Joblin, M., Mauerer, W., Apel, S., Siegmund, J., Riehle, D.: From developer networks to verified communities: a fine-grained approach. In: Proceedings of ICSE 2015 (2015)Google Scholar
- 20.Kintab, G.A., Roy, C.K., McCalla, G.I.: Recommending software experts using code similarity and social heuristics. In: Proceedings of CASCON 2014 (2014)Google Scholar
- 21.Lettner, D., Angerer, F., Grünbacher, P., Prähofer, H.: Software Evolution in an industrial automation ecosystem: an exploratory study. In: Proceedings of SEAA 2014 (2014)Google Scholar
- 22.Lettner, D., Angerer, F., Prähofer, H., Grünbacher, P.: A case study on software ecosystem characteristics in industrial automation software. In: Proceedings of ICSSP 2014 (2014)Google Scholar
- 23.Lettner, D., Grünbacher, P.: Using feature feeds to improve developer awareness in software ecosystem evolution. In: Proceedings of VaMoS 2015 (2015)Google Scholar
- 24.Muthig, D., Schroeter, J.: A framework for role-based feature management in software product line organizations. In: Proceedings of SPLC 2013 (2013)Google Scholar
- 25.Panichella, S., Bavota, G., Di Penta, M., Canfora, G., Antoniol, G.: How developers’ collaborations identified from different sources tell us about code changes. In: Proceedings of ICSME 2014 (2014)Google Scholar
- 26.Reiser, M.-O., Weber, M.: Multi-level feature trees. Requirem. Eng. 12(2), 57–75 (2007)CrossRefGoogle Scholar
- 27.Riehle, D., Gross, T.R.: Role model based framework design and integration. In: Proceedings of OOPSLA 1998 (1998)Google Scholar
- 28.Rubin, J., Chechik, M.: A survey of feature location techniques. In: Domain Engineering, Product Lines, Languages, and Conceptual Models, pp. 29–58 (2013)Google Scholar
- 29.Sajnani, H., Saini, V., Svajlenko, J., Roy, C.K., Lopes, C.V.: Sourcerercc: Scaling code clone detection to big code. CoRR, abs/1512.06448 (2015)Google Scholar
- 30.Sarwar, B., Karypis, G., Konstan, J., Riedl, J.: Item-based collaborative filtering recommendation algorithms. In: Proceedings of the 10th International Conference on World Wide Web, WWW 2001, pp. 285–295. ACM, New York (2001)Google Scholar
- 31.Seidl, C., Aßmann, U.: Towards modeling and analyzing variability in evolving software ecosystems. In: VaMoS (2013)Google Scholar
- 32.Sengupta, B., Chandra, S., Sinha, V.: A research agenda for distributed software development. In: Proceedings of ICSE 2006 (2006)Google Scholar
- 33.Stănciulescu, S., Schulze, S., Wąsowski, A.: Forked and integrated variants in an open-source firmware project. In: Proceedings of ICSME 2015 (2015)Google Scholar
- 34.Studer, R., Benjamins, V.R., Fensel, D.: Knowledge engineering: principles and methods. Data Knowl. Eng. 25(1–2), 161–197 (1998)CrossRefzbMATHGoogle Scholar