Skip to main content
Log in

Challenges in software model reuse: cross application domain vs. cross modeling paradigm

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Software reuse is a common practice that aims to reduce costs and effort, while improving quality and productivity. However, it also raises challenges of retrieving existing artifacts and adapting them to the given context. Sometimes, the most relevant artifacts are realized in a different application domain and/or in a different paradigm (e.g., object-oriented vs. data-driven). These challenges are extremely relevant to non-code artifacts, such as models, which are relatively rare, as well as vary in the level of details and quality. In this paper, we aim to explore the challenges and opportunities of cross application domain and cross modeling paradigm model reuse. These types of reuse require different mapping mechanisms (analogy creation and transformation, respectively), but similar adaptation operations (use-as-is, modification, omission and addition). To explore the challenges of these reuse types, we present the design and the results of a series of controlled experiments, involving 64 participants, which analyzed correctness of software model reuse across application domains and across two modeling paradigms: object-oriented expressed in UML use case and class diagrams and data-driven expressed in entity-relationship and data flow diagrams. Our results show that overall cross-domain reuse is more correctly performed than cross-paradigm reuse, especially with respect to addition. We further analyzed the challenges in each reuse type and found that modification and addition in both reuse types are quite challenging and require careful support to meet new or differing requirements.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Data Availability

The full experimental material associated with the current study is available in the Zenodo repository, https://zenodo.org/record/7565599.

Notes

  1. Here differences in terminologies may also challenge the transformation. However, for simplicity, we assume that the single domain involved in cross-paradigm reuse is stable and has an agreed terminology. Further research is needed to explore and analyze more complicated cases, in which there is no single underlying terminology.

  2. Based on the wide existing literature on the reuse benefits on quality, the experiment does not include a third (control) group – no reuse, as our purpose is to compare the challenges and opportunities of specific reuse types.

  3. Approved by The Institutional Review Board (IRB) at the University of Haifa, Israel; Application no. 492/21.

  4. The full experimental material is available at https://zenodo.org/record/7565599. Examples of source and target models, as well as possible mappings, are depicted in Figs. 1 and 2.

  5. According to (Santos et al. 2019), IPD-S increases the interpretability of joint results and offers greater statistical flexibility.

  6. A 95% confidence interval is a range of values above and below the point estimate within which the true value in the population is likely to lie with 95% confidence.

References

  • Aleryani AY (2016) Comparative study between data flow diagram and use case diagram. Int J Sci Res Publ 6(3):124–126

    Google Scholar 

  • Barrón-Cedeño A, Gupta P, Rosso P (2013) Methods for cross-language plagiarism detection. Knowl-Based Syst 50:211–217

    Article  Google Scholar 

  • Barros-Justo JL, Pinciroli F, Matalonga S, Martínez-Araujo N (2018) What software reuse benefits have been transferred to the industry? A systematic mapping study. Inform Softw Technol 103:1–21

    Article  Google Scholar 

  • Braga RM, Werner CM, Mattoso M (1999). Odyssey: A reuse environment based on domain models. In Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology. ASSET'99 (Cat. No. PR00122) (pp. 50-57). IEEE

  • Burgueño L, Clarisó R, Gérard S, Li S, Cabot J (2021) An NLP-Based Architecture for the Autocompletion of Partial Domain Models. International Conference on Advanced Information Systems Engineering. Springer, Cham, pp 91–106

    Chapter  Google Scholar 

  • Capilla R, Gallina B, Cetina C, Favaro J (2019) Opportunities for software reuse in an uncertain world: From past to emerging trends. J Softw: Evol Process 31(8):e2217

    Google Scholar 

  • Deshmukh M, Schwarz R, Braukhane A, Lopez RP, Gerndt A (2014). Model linking to improve visibility and reusability of models during space system development. In 2014 IEEE Aerospace Conference (pp. 1-11). IEEE

  • Estublier J, Daniela Ionita A, Vega G (2006) Relationships for domain reuse and composition. J Res Pract Inform Technol 38(4):287–301

    Google Scholar 

  • FitzGerald J, FitzGerald AF (1987) Fundamentals of systems analysis: using structured analysis and design techniques. John Wiley & Sons Inc

    Google Scholar 

  • Flores E, Barrón-Cedeno A, Rosso P, Moreno L (2011) Towards the detection of cross language source code reuse. International Conference on Application of Natural Language to Information Systems. Springer, Berlin, pp 250–253

    Google Scholar 

  • Flores E, Barrón-Cedeño A, Moreno L, Rosso P (2015) Cross-Language Source Code Re-Use Detection Using Latent Semantic Analysis. J Univers Comput Sci 21(13):1708–1725

    MathSciNet  Google Scholar 

  • Fries TP (2006). A framework for transforming structured analysis and design artifacts to UML. In Proceedings of the 24th annual ACM international conference on Design of communication (pp. 105-112)

  • Gallina B, Kashiyarandi S, Zugsbratl K, Geven A (2014). Enabling cross-domain reuse of tool qualification certification artefacts. In Computer Safety, Reliability, and Security: SAFECOMP 2014 Workshops: ASCoMS, DECSoS, DEVVARTS, ISSE, ReSA4CI, SASSUR, Proceedings 33 (pp. 255-266). Springer International Publishing: Florence

  • Gharehyazie M, Ray B, Filkov V (2017). Some from here, some from there: Cross-project code reuse in github. In 2017 IEEE/ACM 14th international conference on mining software repositories (MSR) (pp. 291-301). IEEE

  • Haber A, Hölldobler K, Kolassa C, Look M, Rumpe B, Müller K, Schaefer I (2013). Engineering delta modeling languages. In Proceedings of the 17th international software product line conference (pp. 22-31)

  • Hebig R, Quang TH, Chaudron MR, Robles G, Fernandez MA (2016). The quest for open source projects that use UML: mining GitHub. In Proceedings of the ACM/IEEE 19th international conference on model driven engineering languages and systems (pp. 173-183)

  • Heinemann L, Deissenboeck F, Gleirscher M, Hummel B, Irlbeck M (2011) On the extent and nature of software reuse in open source java projects. International Conference on Software Reuse. Springer, Berlin, pp 207–222

    Google Scholar 

  • Holmes R, Walker RJ (2013) Systematizing pragmatic software reuse. ACM Trans Softw Eng Methodol (TOSEM) 21(4):1–44

    Article  Google Scholar 

  • Kahani N, Bagherzadeh M, Cordy JR, Dingel J, Varró D (2019) Survey and classification of model transformation tools. Softw Syst Model 18(4):2361–2397

    Article  Google Scholar 

  • Kitchenham B, Mendes E (2004) Software productivity measurement using multiple size measures. IEEE Trans Softw Eng 30(12):1023–1035

    Article  Google Scholar 

  • Kitchenham BA, Pfleeger SL, Pickard LM, Jones PW, Hoaglin DC, El Emam K, Rosenberg J (2002) Preliminary guidelines for empirical research in software engineering. IEEE Trans Softw Eng 28(8):721–734

    Article  Google Scholar 

  • Krüger J, Berger T (2020). An empirical analysis of the costs of clone-and platform-oriented software reuse. In Proceedings of the 28th ACM joint meeting on european software engineering conference and symposium on the foundations of software engineering (pp. 432-444)

  • Kugele S, Segler C, Hubregtsen T (2020). Architectural patterns for cross-domain personalised automotive functions. In 2020 IEEE international conference on software architecture (ICSA) (pp. 191-201). IEEE

  • Maiden N, Sutcliffe A (1992) Exploiting reusable specifications through analogy. Commun ACM 35(4):55–64

    Article  Google Scholar 

  • Mäkitalo N, Taivalsaari A, Kiviluoto A, Mikkonen T, Capilla R (2020) On opportunistic software reuse. Computing 102(11):2385–2408

    Article  Google Scholar 

  • Martinez-Mosquera D, Navarrete R, Lujan-Mora S (2020) Modeling and management big data in databases—A systematic literature review. Sustainability 12(2):634

    Article  Google Scholar 

  • Mazzini S, Favaro J, Vardanega T (2013) Cross-domain reuse: Lessons learned in a multi-project trajectory. International conference on software reuse. Springer, Berlin, pp 113–126

    Google Scholar 

  • Mikkonen T, Taivalsaari A (2019) Software reuse in the era of opportunistic design. IEEE Softw 36(3):105–111

    Article  Google Scholar 

  • Mohagheghi P, Conradi R (2007) Quality, productivity and economic benefits of software reuse: a review of industrial studies. Empir Softw Eng 12(5):471–516

    Article  Google Scholar 

  • Mojica IJ, Adams B, Nagappan M, Dienst S, Berger T, Hassan AE (2013) A large-scale empirical study on software reuse in mobile apps. IEEE Softw 31(2):78–86

    Article  Google Scholar 

  • Nafi KW, Roy B, Roy CK, Schneider KA (2020) A universal cross language software similarity detector for open source software categorization. J Syst Softw 162:110491

    Article  Google Scholar 

  • Nafi KW, Roy B, Roy CK, Schneider KA (2018). Crolsim: Cross language software similarity detector using api documentation. In 2018 IEEE 18th international working conference on source code analysis and manipulation (SCAM) (pp. 139-148). IEEE

  • Osman MH, Chaudron MR (2013). UML usage in open source software development: A field study. In EESSMod@ MoDELS (pp. 23-32)

  • Ozkaya M, Erata F (2020) A survey on the practical use of UML for different software architecture viewpoints. Inform Softw Technol 121:106275

    Article  Google Scholar 

  • Paschali ME, Ampatzoglou A, Bibi S, Chatzigeorgiou A, Stamelos I (2017) Reusability of open source software across domains: A case study. J Syst Softw 134:211–227

    Article  Google Scholar 

  • Pfeiffer RH, Wąsowski A (2012) Cross-language support mechanisms significantly aid software development. international conference on model driven engineering languages and systems. Springer, Berlin, pp 168–184

    Chapter  Google Scholar 

  • Pohl K, Böckle G, Van Der Linden F (2005) Software product line engineering: foundations, principles, and techniques, 1st edn. Springer, Heidelberg

    Book  Google Scholar 

  • Reggio G, Leotta M, Ricca F (2014) Who knows/uses what of the UML: A personal opinion survey. International conference on model driven engineering languages and systems. Springer, Cham, pp 149–165

    Chapter  Google Scholar 

  • Reinhartz-Berger I, Zamansky A (2020) Reuse of similarly behaving software through polymorphism-inspired variability mechanisms. IEEE Trans Softw Eng 48(3):773–785

    Article  Google Scholar 

  • Riley RD, Lambert PC, Abo-Zaid G (2010). Meta-analysis of individual participant data: rationale, conduct, and reporting. Bmj, 340:

  • Ruy FB, Reginato CC, Santos VA, Falbo RA, Guizzardi G (2015) Ontology engineering by combining ontology patterns. International Conference on Conceptual Modeling. Springer, Cham, pp 173–186

    Chapter  Google Scholar 

  • Santos A, Vegas S, Oivo M, Juristo N (2019) A procedure and guidelines for analyzing groups of software engineering replications. IEEE Trans Softw Eng 47(9):1742–1763

    Google Scholar 

  • Scanniello G, Gravino C, Genero M, Cruz-Lemus JA, Tortora G, Risi M, Dodero G (2018) Do software models based on the UML aid in source-code comprehensibility? Aggregating evidence from 12 controlled experiments. Empir Softw Eng 23:2695–2733

    Article  Google Scholar 

  • Schots M (2014). On the use of visualization for supporting software reuse. In Companion proceedings of the 36th international conference on software engineering (pp. 694-697)

  • Schots M, Vasconcelos R, Werner C (2014). A quasi-systematic review on software visualization approaches for software reuse. Tech Rep

  • Sommerville I (2016). Software Engineering, (10th edn), Pearson

  • Sutcliffe A (2019). Software reuse: State of the art and survey of technical approaches. Integrated Softw Reuse: Manag Tech 51-76

  • Svahnberg M, Aurum A, Wohlin C (2008). Using students as subjects-an empirical evaluation. In Proceedings of the second ACM-IEEE international symposium on empirical software engineering and measurement (pp. 288-290)

  • Varnell-Sarjeant J, Andrews AA, Lucente J, Stefik A (2015) Comparing development approaches and reuse strategies: An empirical evaluation of developer views from the aerospace industry. Inform Softw Technol 61:71–92

    Article  Google Scholar 

  • Varnell-Sarjeant J, Andrews AA, Stefik A (2014). Comparing reuse strategies: An empirical evaluation of developer views. In 2014 IEEE 38th international computer software and applications conference workshops (pp. 498-503). IEEE

  • Vislavski T, Rakić G, Cardozo N, Budimac Z (2018). LICCA: A tool for cross-language clone detection. In 2018 IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 512-516). IEEE

  • vom Brocke J (2007). Design principles for reference modeling: reusing information models by means of aggregation, specialisation, instantiation, and analogy. In Reference modeling for business systems analysis (pp. 47-76). IGI Global

  • Wohlin C, Runeson P, Höst M, Ohlsson MC, Regnell B, Wesslén A (2012). Experimentation in software engineering. Springer Science & Business Media

  • Xiong W, Lagerström R (2019) Threat modeling–A systematic literature review. Comput Sec 84:53–69

    Article  Google Scholar 

  • Xu Y, Ramanathan J, Ramnath R, Singh N, Deshpande S (2011) Reuse by placement: a paradigm for cross-domain software reuse with high level of granularity. International conference on software reuse. Springer, Berlin, pp 69–77

    Google Scholar 

  • Zaimi A, Ampatzoglou A, Triantafyllidou N, Chatzigeorgiou A, Mavridis A, Chaikalis T, Deligiannis I, Sfetsos P, Stamelos I (2015). An empirical study on the reuse of third-party libraries in open-source software development. In Proceedings of the 7th Balkan Conference on Informatics Conference (pp. 1-8)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iris Reinhartz-Berger.

Ethics declarations

Conflict of Interest

The author declared that she has no conflict of interest. The experiments comply with all international standards for ethical research practice (see details in footnote #3).

Additional information

Communicated by: Bram Adams

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Reinhartz-Berger, I. Challenges in software model reuse: cross application domain vs. cross modeling paradigm. Empir Software Eng 29, 16 (2024). https://doi.org/10.1007/s10664-023-10386-9

Download citation

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10664-023-10386-9

Keywords

Navigation