Skip to main content
Log in

Quality attribute traceability based on Clone Microtactics

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Traceability is a technique that allows the validation and verification of product requirements. Traceability is more important in safety–critical systems. Safety–critical standards, such as automotive ISO 26262 and avionics DO-178C, mandate traceability. Tracing functional requirements is a relatively mature field of research that involves multiple studies. However, the traceability of quality attributes remains a challenge. Quality attributes have a wide range of effects on a system and are achieved from various architectural perspectives. Architectural patterns and tactics are commonly used to obtain quality attributes. An architectural tactic is a fine-grained design decision to achieve specified quality attributes in source code. Therefore, identifying architectural tactics in the source code makes it possible to trace quality attributes. This paper introduces a new quality attribute traceability approach based on Clone Microtactics. A Microtactic is a microstructure associated with an architectural tactic that is automatically identifiable in the conceptual representation of the source code. The concept of Clone Microtactics is inspired by semantic code clones. Clone Microtactics are similar in behavior and context, although they do not have the same structure. The proposed approach identifies architectural tactics in the source code based on Clone Microtactics. Identifying architectural tactics also enables quality attribute traceability in the source code. The proposed method is a process in three main phases. In the first phase, a reference model of the Microtactics is created manually. This model is generated once at the beginning of the process. In the second phase, a conceptual model of the modified part of the source code is created. This step is repeated for each change in the source code. In the third phase, using the hybrid similarity method, Clone Microtactics are identified. The proposed approach is implemented on ten architectural tactics related to availability, performance, and security. Also, the results of this approach have been evaluated on the Hadoop framework. The evaluation results show that the proposed approach provides acceptable results compared with other methods in this field.

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
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Data availability

The datasets analyzed during the current study and supplementary material are available at https://github.com/Ehsasha/MtDet.

Notes

  1. https://zenodo.org/record/577939#.Yo64XahBxPY

  2. https://github.com/apache/hadoop

References

  • Atzeni, M., & Atzori, M. (2017). CodeOntology: RDF-ization of source code. In C. d’Amato, M. Fernandez, V. Tamma, F. Lecue, P. Cudré-Mauroux, J. Sequeda, C. Lange, & J. Heflin (Eds.), The Semantic Web – ISWC 2017 (pp. 20–28). Springer International Publishing.

    Chapter  Google Scholar 

  • Bass, L., Clements, P., & Kazman, R. (2021). Software architecture in practice. Addison-Wesley Professional.

    Google Scholar 

  • Chung, L. (2000). Non-functional requirements in software engineering. Kluwer Academic.

    Book  MATH  Google Scholar 

  • Cleland-Huang, J., K Chang, C., & Wise, J. (2003). Automating performance-related impact analysis through event-based traceability. Requirements Engineering, 8, 171–182.

    Article  Google Scholar 

  • Cleland-Huang, J., Settimi, R., BenKhadra, O., Berezhanskaya, E., & Christina, S. (2005). Goal-centric traceability for managing non-functional requirements. In Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005 (pp. 362–371).

  • Cleland-Huang, J., Mirakhorli, M., Czauderna, A., & Wieloch, M. (2013). Decision-centric traceability of architectural concerns. In 2013 7th International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE), pp. 5–11.

  • Cleland-Huang, J., Gotel, O., Hayes, J.H., Mäder, P., & Zisman, A. (2014). Software traceability: Trends and future directions.

  • Decker, S., Mitra, P., & Melnik, S. (2000). Framework for the Semantic Web: An RDF tutorial. IEEE Internet Computing, 4, 68–73. https://doi.org/10.1109/4236.895018

    Article  Google Scholar 

  • Gil, J. (Yossi), Maman, I. (2005). Micro patterns in Java code. In Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (pp. 97–116). New York, NY, USA: ACM.

  • Gotel, O., Cleland-Huang, J., Hayes, J. H., Zisman, A., Egyed, A., Grünbacher, P., Dekhtyar, A., Antoniol, G., Maletic, J., & Mäder, P. (2012). Traceability fundamentals. In J. Cleland-Huang, O. Gotel, & A. Zisman (Eds.), Software and systems traceability (pp. 3–22). Springer.

    Chapter  Google Scholar 

  • Harrison, N. B., & Avgeriou, P. (2010). How do architecture patterns and tactics interact? A model and annotation. Journal of Systems and Software, 83, 1735–1758.

    Article  Google Scholar 

  • Hofmeister, C., Nord, R., & Soni, D. (2000). Applied software architecture. Addison-Wesley Longman Publishing Co.

    Google Scholar 

  • Kazman, R., Klein, M., & Clements, P. (2000). ATAM: Method for architecture evaluation. Carnegie-Mellon Univ Pittsburgh PA Software Engineering Inst.

  • Keim, J., Kaplan, A., Koziolek, A., & Mirakhorli, M. (2020). Does BERT understand code? – An exploratory study on the detection of architectural tactics in code. In Software Architecture: 14th European Conference, ECSA 2020, L’Aquila, Italy, September 14–18, 2020, Proceedings, (Berlin, Heidelberg: Springer-Verlag), pp. 220–228.

  • Kim, S., Kim, D.-K., Lu, L., & Park, S. (2009). Quality-driven architecture development using architectural tactics. Journal of Systems and Software, 82, 1211–1231.

    Article  Google Scholar 

  • Kim, D. -K. (2007). The role-based metamodeling language for specifying design patterns. In Design pattern formalization techniques (pp. 183–205). IGI Global.

  • Kumar, N., & Kumar, S. (2013). Querying RDF and OWL data source using SPARQL. In 2013 Fourth International Conference on Computing, Communications and Networking Technologies (ICCCNT), pp. 1–6.

  • Maggioni, S. (2006) Design pattern clues for creational design patterns. In Proceedings of the DPD4RE Workshop, co-located event with IEEE WCRE 2006 Conference, Benevento, Italy.

  • Maggioni, S. (2010). Design pattern detection and software architecture reconstruction: an integrated approach based on software micro-structures. Università degli Studi di Milano-Bicocca.

  • Mahmoud, A., & Williams, G. (2016). Detecting, classifying, and tracing non-functional software requirements. Requirements Engineering, 21, 357–381.

    Article  Google Scholar 

  • Mirakhorli, M., & Cleland-Huang, J. (2011). Using tactic traceability information models to reduce the risk of architectural degradation during system maintenance. In 2011 27th IEEE International Conference on Software Maintenance (ICSM), pp. 123–132.

  • Mirakhorli, M., & Cleland-Huang, J. (2012). Tracing non-functional requirements. In J. Cleland-Huang, O. Gotel, & A. Zisman (Eds.), Software and systems traceability (pp. 299–320). Springer.

    Chapter  Google Scholar 

  • Mirakhorli, M., & Cleland-Huang, J. (2016). Detecting, tracing, and monitoring architectural tactics in code. IEEE Transactions on Software Engineering, 42, 206–221.

    Article  Google Scholar 

  • Mirakhorli, M., Shin, Y., Cleland-Huang, J., & Cinar, M. (2012). A tactic-centric approach for automating traceability of quality concerns. In 2012 34th International Conference on Software Engineering (ICSE), pp. 639–649.

  • Mirakhorli, M. (2014). Preserving the quality of architectural tactics in source code. College of Computing and Digital Media Dissertations.

  • Page-Jones, M., & Constantine, L. L. (1999). Fundamentals of object-oriented design in UML (New York: Reading, Mass: Addison-Wesley Professional).

  • Shahbazi, Z., Rasoolzadegan, A., Purfallah, Z., & Jafari Horestani, S. (2021). A new method for detecting various variants of GoF design patterns using conceptual signatures. Software Quality Journal. https://doi.org/10.1007/s11219-021-09576-9

    Article  Google Scholar 

  • Sheneamer, A., Roy, S., & Kalita, J. (2018). A detection framework for semantic code clones and obfuscated code. Expert Systems with Applications, 97, 405–420.

    Article  Google Scholar 

  • Sudhamani, M., & Rangarajan, L. (2019). Code similarity detection through control statement and program features. Expert Systems with Applications, 132, 63–75.

    Article  Google Scholar 

  • Wang, W., Gupta, A., Niu, N., Xu, L. D., Cheng, J. C., & Niu, Z. (2018). Automatically tracing dependability requirements via term-based relevance feedback. IEEE Transactions on Industrial Informatics, 14, 342–349.

    Article  Google Scholar 

  • Wu, Z., & Palmer, M. (1994). Verb semantics and lexical selection. arXiv:Cmp-Lg/9406033

  • Yu, E.S.K. (1997). Towards modeling and reasoning support for early-phase requirements engineering. In Proceedings of the 3rd IEEE International Symposium on Requirements Engineering (RE97), pp. 226–235.

  • Zanoni, M., Arcelli Fontana, F., & Stella, F. (2015). On applying machine learning techniques for design pattern detection. Journal of Systems and Software, 103, 102–117.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ahmad Abdolahzadeh-Barforoosh.

Ethics declarations

Conflict of interest

The authors declare no competing interests.

Additional information

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

Sharifi, E., Abdolahzadeh-Barforoosh, A. Quality attribute traceability based on Clone Microtactics. Software Qual J 31, 533–573 (2023). https://doi.org/10.1007/s11219-022-09606-0

Download citation

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-022-09606-0

Keywords

Navigation