Skip to main content

Discovering Software Architectures with Search-Based Merge of UML Model Variants

  • Conference paper
  • First Online:
Book cover Mastering Scale and Complexity in Software Reuse (ICSR 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10221))

Included in the following conference series:

Abstract

Software reuse is a way to reduce costs and improve quality. However, in industry, the reuse of existing software artifacts is commonly done by ad hoc strategies such as clone-and-own. Clone-and-own leads to a set of system variants developed independently, despite of having similar parts. The maintenance of these independent variants is a difficult task, because of duplication and spread functionalities. One problem faced by developers and engineers is the lack of a global view of such variants, providing a better understanding of the actual state of the systems. In this paper we present an approach to discover the architecture of system variants using a search-based technique. Our approach identifies differences between models and uses these differences to generate candidate architectures. The goal is to find a candidate architecture most similar to a set of UML model variants. Our contribution is threefold: (i) we proposed an approach to discover model-based software architecture, (ii) we deal with the merging of multiple UML model variants; and (iii) our approach applies a search-based technique considering state-based merging of models. We evaluate our approach with four case studies and the results show that it is able to find good candidate architectures even when different features are spread among model variants.

S.R. Vergilio—This work was supported by the Brazilian Agencies CAPES: 7126/2014-00 and CNPq: 453678/2014-9 and 305358/2012-0.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Available at: https://github.com/but4reuse/but4reuse/wiki/Examples.

  2. 2.

    http://wiki.eclipse.org/MDT/UML2.

  3. 3.

    http://www.eclipse.org/diffmerge/.

  4. 4.

    http://www.sdmetrics.com.

  5. 5.

    https://eclipse.org/MoDisco.

References

  1. Assunção, W.K.G., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Reengineering legacy applications into software product lines: A systematic mapping. Empirical Softw. Eng. 1–45 (2017)

    Google Scholar 

  2. Assunção, W.K.G., Lopez-Herrejon, R.E., Linsbauer, L., Vergilio, S.R., Egyed, A.: Extracting variability-safe feature models from source code dependencies in system variants. In: Genetic and Evolutionary Computation Conference (GECCO), pp. 1303–1310. ACM (2015)

    Google Scholar 

  3. Debreceni, C., Ráth, I., Varró, D., Carlos, X., Mendialdua, X., Trujillo, S.: Automated model merge by design space exploration. In: Stevens, P., Wąsowski, A. (eds.) FASE 2016. LNCS, vol. 9633, pp. 104–121. Springer, Heidelberg (2016). doi:10.1007/978-3-662-49665-7_7

    Chapter  Google Scholar 

  4. Dobrica, L., Niemela, E.: A survey on software architecture analysis methods. IEEE Trans. Softw. Eng. 28(7), 638–653 (2002)

    Article  MATH  Google Scholar 

  5. Durillo, J.J., Nebro, A.J.: jMetal: A java framework for multi-objective optimization. Adv. Eng. Softw. 42, 760–771 (2011). http://jmetal.sourceforge.net/

    Article  Google Scholar 

  6. Faust, D., Verhoef, C.: Software product line migration and deployment. Softw. Pract. Experience 33(10), 933–955 (2003)

    Article  Google Scholar 

  7. Garcia, J., Ivkovic, I., Medvidovic, N.: A comparative analysis of software architecture recovery techniques. In: International Conference on Automated Software Engineering (ASE), pp. 486–496. IEEE (2013)

    Google Scholar 

  8. Goldberg, D.E., Deb, K., Clark, J.H.: Genetic algorithms, noise, and the sizing of populations. Complex Syst. 6, 333–362 (1992)

    MATH  Google Scholar 

  9. Harman, M., Mansouri, S.A., Zhang, Y.: Search-based software engineering: Trends, techniques and applications. ACM Comput. Surv. 45(1), 1–61 (2012)

    Article  Google Scholar 

  10. Hussain, I., Khanum, A., Abbasi, A.Q., Javed, M.Y.: A novel approach for software architecture recovery using particle swarm optimization. Int. Arab J. Inf. Technol. 12(1), 32–41 (2015)

    Google Scholar 

  11. Jeet, K., Dhir, R.: Software architecture recovery using genetic black hole algorithm. ACM SIGSOFT Softw. Eng. Notes 40(1), 1–5 (2015)

    Article  Google Scholar 

  12. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA) feasibility study. Technical report, SEI - CMU (1990)

    Google Scholar 

  13. Kessentini, M., Werda, W., Langer, P., Wimmer, M.: Search-based model merging. In: Genetic and Evolutionary Computation Conference, pp. 1453–1460 (2013)

    Google Scholar 

  14. Krueger, C.W.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (1992)

    Article  Google Scholar 

  15. Maazoun, J., Bouassida, N., Ben-Abdallah, H.: A bottom up SPL design method. In: 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD), pp. 309–316, January 2014

    Google Scholar 

  16. Mansoor, U., Kessentini, M., Langer, P., Wimmer, M., Bechikh, S., Deb, K.: Momm: Multi-objective model merging. J. Syst. Softw. 103, 423–439 (2015)

    Article  Google Scholar 

  17. Martinez, J., Ziadi, T., Bissyandé, T.F., Klein, J., Traon, Y.: Automating the extraction of model-based software product lines from model variants. In: International Conference on Automated Software Engineering (ASE), pp. 396–406 (2015)

    Google Scholar 

  18. Martinez, J., Ziadi, T., Klein, J., Traon, Y.: Identifying and visualising commonality and variability in model variants. In: Cabot, J., Rubin, J. (eds.) ECMFA 2014. LNCS, vol. 8569, pp. 117–131. Springer, Heidelberg (2014). doi:10.1007/978-3-319-09195-2_8

    Google Scholar 

  19. Pohl, K., Böckle, G., van Der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Heidelberg (2005)

    Book  MATH  Google Scholar 

  20. Riva, C., Del Rosso, C.: Experiences with software product family evolution. In: International Workshop on Principles of Software Evolution, pp. 161–169 (2003)

    Google Scholar 

  21. Rubin, J., Chechik, M.: N-way model merging. In: 9th Joint Meeting on Foundations of Software Engineering (ESEC/FSE), pp. 301–311. ACM (2013)

    Google Scholar 

  22. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, Boston (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wesley K. G. Assunção .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Assunção, W.K.G., Vergilio, S.R., Lopez-Herrejon, R.E. (2017). Discovering Software Architectures with Search-Based Merge of UML Model Variants. In: Botterweck, G., Werner, C. (eds) Mastering Scale and Complexity in Software Reuse. ICSR 2017. Lecture Notes in Computer Science(), vol 10221. Springer, Cham. https://doi.org/10.1007/978-3-319-56856-0_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-56856-0_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-56855-3

  • Online ISBN: 978-3-319-56856-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics