A Metrics-based Approach for Assessing Architecture-Implementation Mappings

  • J. Andres Diaz-Pace ISISTAN / UNCPBA / CONICET
  • Rodrigo Cian Berrios UNCPBA
  • Antonela Tommasel ISISTAN / UNCPBA / CONICET
  • Hernan C. Vazquez UNCPBA

Resumo


Several automated techniques for assisting engineers in creating mappings between source code (e.g., classes) and architecture elements (e.g., modules) have been proposed. They are generally assessed via precision and recall metrics. However, these metrics can only be evaluated post-mortem, i.e., once an expert created and validated all the mappings. In practice, given a set of mappings, engineers would like to assess their quality without (effortfully) validating the whole set. In this context, we explore a suite of quality metrics as an architectural fitness function for a ranking of mappings, which helps engineers select a useful list of those mappings. We empirically analyzed the evolution of our metrics in two projects using different mapping techniques.

Palavras-chave: Architecture conformance, Quality metrics, Automated techniques, Optimization, Reflexion modeling

Referências

Akiba, T., Sano, S., Yanase, T., Ohta, T., and Koyama, M. (2019). Optuna: A nextgeneration hyperparameter optimization framework. In Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, KDD ’19, page 2623–2631, New York, NY, USA. Association for Computing Machinery

Armentano, M., Soldavini, L., Díaz Pace, J. A., Vidal, S., and Marcos, C. A. (2015). Conformidad estructural de arquitecturas combinado con analisis de impacto de cambios. In Simposio Argentino de Ingenieria de Software (ASSE 2015)-JAIIO 44 (Rosario, 2015).

Bass, L., Clements, P., and Kazman, R. (2021). Software Architecture in Practice. Addison-Wesley Professional, 4th edition.

Bittencourt, R. A., Santos, G. J. d., Guerrero, D. D. S., and Murphy, G. C. (2010). Improving automated mapping in reflexion models using information retrieval techniques. In 2010 17th Working Conference on Reverse Engineering, pages 163–172.

Brunet, J., Bittencourt, R. A., Serey, D., and Figueiredo, J. (2012). On the evolutionary nature of architectural violations. In 2012 19th Working Conference on Reverse Engineering, pages 257–266.

Christl, A., Koschke, R., and Storey, M.-A. (2007). Automated clustering to support the reflexion method. Information and Software Technology, 49(3):255–274. 12th Working Conference on Reverse Engineering.

Derringer, G. and Suich, R. (1980). Simultaneous optimization of several response variables. Journal of Quality Technology, 12(4):214–219.

Efstathiou, V., Chatzilenas, C., and Spinellis, D. (2018). Word embeddings for the software engineering domain. In Proceedings of the 15th International Conference on Mining Software Repositories, MSR ’18, page 38–41, New York, NY, USA. Association for Computing Machinery.

Feng, Z., Guo, D., Tang, D., Duan, N., Feng, X., Gong, M., Shou, L., Qin, B., Liu, T., Jiang, D., et al. (2020). Codebert: A pre-trained model for programming and natural languages. arXiv preprint arXiv:2002.08155.

Ford, N., Parsons, R., and Kua, P. (2017). Building Evolutionary Architectures: Support Constant Change. O’Reilly Media, Inc., 1st edition.

Guimães, E. T., Vidal, S. A., Garcia, A. F., Pace, J. A. D., and Marcos, C. A. (2018). Exploring architecture blueprints for prioritizing critical code anomalies: Experiences and tool support. Software: Practice and Experience, 48:1077 – 1106.

Lange, C. and Chaudron, M. R. V. (2004). An empirical assessment of completeness in uml designs. IET Conference Proceedings, pages 111–119(8).

Melnik, S., Garcia-Molina, H., and Rahm, E. (2002). Similarity flooding: a versatile graph matching algorithm and its application to schema matching. Proceedings 18th International Conference on Data Engineering, pages 117–128.

Murphy, G., Notkin, D., and Sullivan, K. (2001). Software reflexion models: bridging the gap between design and implementation. IEEE Transactions on Software Engineering, 27(4):364–380.

Olsson, T., Ericsson, M., and Wingkvist, A. (2022). To automatically map source code entities to architectural modules with naive bayes. Journal of Systems and Software, 183:111095.

Ricci, F., Rokach, L., and Shapira, B. (2015). Recommender systems: introduction and challenges. In Recommender systems handbook, pages 1–34. Springer.

Robillard, M. P., Maalej,W.,Walker, R. J., and Zimmermann, T. (2014). Recommendation Systems in Software Engineering. Springer Publishing Company, Incorporated.

Robillard, M. P. and Warr, F. W. (2005). Concernmapper: simple view-based separation of scattered concerns. In Storey, M. D., Burke, M. G., Cheng, L., and van der Hoek, A., editors, Proceedings of the 2005 OOPSLA workshop on Eclipse Technology eXchange, ETX 2005, San Diego, California, USA, October 16-17, 2005, pages 65–69. ACM.

Rus, V., Lintean, M., Banjade, R., Niraula, N., and Stefanescu, D. (2013). SEMILAR: The semantic similarity toolkit. In Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics: System Demonstrations, pages 163–168, Sofia, Bulgaria. Association for Computational Linguistics.

Soares, S., Laureano, E., and Borba, P. (2002). Implementing distribution and persistence aspects with aspectj. ACM Sigplan Notices, 37(11):174–190.

Vázquez, H. C., Díaz Pace, J. A., and Marcos, C. A. (2015). Uso de ontologias para mapear una arquitectura de software con su implementacion. Jornadas Argentinas de Informatica e Investigacion Operativa, 44.

Young, T. J. (2005). Using aspectj to build a software product line for mobile devices. In University of British Columbia, Department of Computer Science.
Publicado
13/06/2022
Como Citar

Selecione um Formato
DIAZ-PACE, J. Andres; CIAN BERRIOS, Rodrigo; TOMMASEL, Antonela; VAZQUEZ, Hernan C.. A Metrics-based Approach for Assessing Architecture-Implementation Mappings. In: CONGRESSO IBERO-AMERICANO EM ENGENHARIA DE SOFTWARE (CIBSE), 25. , 2022, Córdoba. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2022 . p. 16-30. DOI: https://doi.org/10.5753/cibse.2022.20960.