Pattern detection and design rationale traceability: an integrated approach to software design quality

Pattern detection and design rationale traceability: an integrated approach to software design quality

For access to this article, please select a purchase option:

Buy article PDF
(plus tax if applicable)
Buy Knowledge Pack
10 articles for $120.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Your details
Why are you recommending this title?
Select reason:
IET Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

Design rationale is the synthesis of the structure that is consistent with the model of an artefact, decisions, alternative approaches, and the reasoning behind it. Hence, bypassing it will result in poor quality systems engineering. Ambiguous representation of design rationale goals is just one of the many limitations that contributes to the intricacy of design patterns, thereby this research aims to introduce an approach to support the structuring, evaluation, and analysis of design patterns. The authors have proposed a method and implemented an associated tool with a mechanism that validates the class relationships and properties of design patterns comprehensively, resulting in a reliable pattern detection result. The preliminary results of the proposed research show that although detection and evaluation of a design pattern require some overhead using the approach, it does contribute to the confidence of the developers and gives affirmation that the design pattern implemented in the source code achieves its defined rationale goals based on the gang of four definition of design patterns through the reliable pattern detection output and straightforward evaluation result. The conclusion could be drawn that through the proposed approach, the preliminary result resolves the intricacy of design rationale traceability while achieving software quality is permissible.


    1. 1)
      • 1. Hsueh, N.-L., Chu, P.-H., Chu, W.: ‘A quantitative approach for evaluating the quality of design patterns’, J. Syst. Softw., 2008, 81, (8), pp. 14301439.
    2. 2)
      • 2. Langsari, K., Rochimah, S., Akbar, R.J.: ‘Measuring performance efficiency of application applying design patterns and refactoring method’, IPTEK J. Proc. Series, 2018, 1, pp. 149155.
    3. 3)
      • 3. Ampatzoglou, A., Frantzeskou, G., Stamelos, I.: ‘A methodology to assess the impact of design patterns on software quality’, Inf. Softw. Technol., 2012, 54, (4), pp. 331346.
    4. 4)
      • 4. Albin, S.T.: ‘The art of software architecture: design methods and techniques’ (John Wiley & Sons, Indianapolis, IN, USA, 2003).
    5. 5)
      • 5. Gamma, E., Helm, R., Johnson, R., et al: ‘Design patterns: elements of reusable object-oriented software’ (Addison-Wesley, Reading, 1995), vol. 49, (120), p. 11.
    6. 6)
      • 6. van Vliet, H., Tang, A.: ‘Decision making in software architecture’, J. Syst. Softw., 2016, 117, pp. 638644.
    7. 7)
      • 7. Uchiyama, S., Kubo, A., Washizaki, H., et al: ‘Detecting design patterns in object-oriented program source code by using metrics and machine learning’, J. Softw. Eng. Appl., 2014, 7, (12), p. 983.
    8. 8)
      • 8. Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., et al: ‘Design pattern detection using similarity scoring’, IEEE Trans. Softw. Eng., 2006, 32, (11), pp. 896909.
    9. 9)
      • 9. Shi, N., Olsson, R.A.: ‘Reverse engineering of design patterns from java source code’. Proc. 21st IEEE/ACM Int. Conf. Automated Software Engineering (ASE'06), Davis, California, USA, September 2006, pp. 123134.
    10. 10)
      • 10. Hayashi, S., Katada, J., Sakamoto, R., et al: ‘Design pattern detection by using meta patterns’, IEICE Trans. Inf. Syst., 2008, 91, (4), pp. 933944.
    11. 11)
      • 11. Zanoni, M., Fontana, F.A., Stella, F.: ‘On applying machine learning techniques for design pattern detection’, J. Syst. Softw., 2015, 103, pp. 102117.
    12. 12)
      • 12. Ferenc, R., Beszedes, A., Fulop, L., et al: ‘Design pattern mining enhanced by machine learning’. Proc. 21st IEEE Int. Conf. Software Maintenance (ICSM'05), Los Alamitos, California, USA, September 2005, pp. 295304.
    13. 13)
      • 13. Tang, A., Jin, Y., Han, J.: ‘A rationale-based architecture model for design traceability and reasoning’, J. Syst. Softw., 2007, 80, (6), pp. 918934.
    14. 14)
      • 14. Jarczyk, A.P., Löffler, P., Shipman, IIIF.M.: ‘Design rationale for software engineering: a survey’. Proc. Int. Conf. System Sciences, Kauai, HI, USA, January 1992, pp. 577586.
    15. 15)
      • 15. Burge, J., Brown, D.C.: ‘Reasoning with design rationale: artificial intelligence in Design'00’ (Kluwer Academic Publishers, Dordrecht, Netherlands, 2000), pp. 611629.
    16. 16)
      • 16. Bosch, J.: ‘Software architecture: the next step’. Proc. European Workshop on Software Architecture, Berlin, May 2004, pp. 194199.
    17. 17)
      • 17. Moran, T.P., Carroll, J.M.: ‘Design rationale: concepts, techniques, and use’ (L. Erlbaum Associates Inc., Hillsdale, NJ, USA, 1996).
    18. 18)
      • 18. Chihada, A., Jalili, S., Hasheminejad, S.M.H., et al: ‘Source code and design conformance, design pattern detection from source code by classification approach’, Appl. Soft Comput., 2015, 26, pp. 357367.
    19. 19)
      • 19. Mayvan, B.B., Rasoolzadegan, A.: ‘Design pattern detection based on the graph theory’, Knowl.-Based Syst., 2017, 120, pp. 211225.
    20. 20)
      • 20. Kurtanović, Z., Maalej, W.: ‘On user rationale in software engineering’, Requir. Eng., 2018, 23, (3), pp. 357379.
    21. 21)
      • 21. Dutoit, A.H., McCall, R., Mistrík, I., et al: ‘Rationale management in software engineering’ (Springer Science & Business Media, Berlin & Heidelberg, Germany, 2007).
    22. 22)
      • 22. Burge, J.E., Carroll, J.M., McCall, R., et al: ‘Rationale-based software engineering’ (Springer, Berlin & Heidelberg, Germany, 2008).
    23. 23)
      • 23. Perry, D.E., Wolf, A.L.: ‘Foundations for the study of software architecture’, ACM SIGSOFT Softw. Eng. Notes, 1992, 17, (4), pp. 4052.
    24. 24)
      • 24. Tang, A., Aleti, A., Burge, J., et al: ‘What makes software design effective?’, Des. Stud., 2010, 31, (6), pp. 614640.
    25. 25)
      • 25. Wang, W., Burge, J.E.: ‘Using rationale to support pattern-based architectural design’. Proc. Workshop on Sharing and Reusing Architectural Knowledge (ICSE 2010), Cape Town, South Africa, May 2010, pp. 18.
    26. 26)
      • 26. NRefactory’. Available at, accessed 17 April 2015.
    27. 27)
      • 27. Veleda, R., Cysneiros, L.M.: ‘Towards a tool to help exploring existing non-functional requirements solution patterns’. Proc. 25th Int. Conf. Requirements Engineering Workshops (REW), Lisbon, Portugal, September 2017, pp. 232239.
    28. 28)
      • 28. The Edinburgh language technology group (LTG)’. Available at, accessed 12 September, 2016.
    29. 29)
      • 29. Chung, L., Nixon, B.A., Yu, E., et al: ‘Non-functional requirements in software engineering’ (Kluwer Academic Publishers, Dordrecht, Netherlands, 2012).
    30. 30)
      • 30. Vokac, M.: ‘Defect frequency and design patterns: an empirical study of industrial code’, IEEE Trans. Softw. Eng., 2004, 30, (12), pp. 904917.
    31. 31)
      • 31. Fontana, F.A., Zanoni, M.: ‘A tool for design pattern detection and software architecture reconstruction’, Inf. Sci., 2011, 181, (7), pp. 13061324.

Related content

This is a required field
Please enter a valid email address