A Technology-Neutral Role-Based Collaboration Model for Software Ecosystems

  • Ştefan Stănciulescu
  • Daniela Rabiser
  • Christoph Seidl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9953)

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 Marlin 

Notes

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. 1.
    Bacchelli, A., Bird, C.: Expectations, outcomes, and challenges of modern code review. In: Proceedings of ICSE 2013 (2013)Google Scholar
  2. 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. 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. 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. 5.
    Bosch, J.: From software product lines to software ecosystems. In: Proceedings of SPLC 2009 (2009)Google Scholar
  6. 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. 7.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. SEI Series in Software Engineering. Addison-Wesley, Boston (2001)Google Scholar
  8. 8.
    Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston (2000)Google Scholar
  9. 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. 10.
    Dourish, P., Bellotti, V.: Awareness and coordination in shared workspaces. In: Proceedings of CSCW 1992 (1992)Google Scholar
  11. 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. 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. 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. 14.
    Frost, R.: Jazz and the eclipse way of collaboration. IEEE Softw. 24(6), 114–117 (2007)CrossRefGoogle Scholar
  15. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 26.
    Reiser, M.-O., Weber, M.: Multi-level feature trees. Requirem. Eng. 12(2), 57–75 (2007)CrossRefGoogle Scholar
  27. 27.
    Riehle, D., Gross, T.R.: Role model based framework design and integration. In: Proceedings of OOPSLA 1998 (1998)Google Scholar
  28. 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. 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. 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. 31.
    Seidl, C., Aßmann, U.: Towards modeling and analyzing variability in evolving software ecosystems. In: VaMoS (2013)Google Scholar
  32. 32.
    Sengupta, B., Chandra, S., Sinha, V.: A research agenda for distributed software development. In: Proceedings of ICSE 2006 (2006)Google Scholar
  33. 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. 34.
    Studer, R., Benjamins, V.R., Fensel, D.: Knowledge engineering: principles and methods. Data Knowl. Eng. 25(1–2), 161–197 (1998)CrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Ştefan Stănciulescu
    • 1
  • Daniela Rabiser
    • 2
  • Christoph Seidl
    • 3
  1. 1.IT University of CopenhagenCopenhagenDenmark
  2. 2.CD Lab MEVSSJohannes Kepler University LinzLinzAustria
  3. 3.Technische Universität BraunschweigBraunschweigGermany

Personalised recommendations