Your browser does not support JavaScript!

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)
      • 26. NRefactory’. Available at, accessed 17 April 2015.
    2. 2)
      • 29. Chung, L., Nixon, B.A., Yu, E., et al: ‘Non-functional requirements in software engineering’ (Kluwer Academic Publishers, Dordrecht, Netherlands, 2012).
    3. 3)
      • 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.
    4. 4)
      • 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.
    5. 5)
      • 11. Zanoni, M., Fontana, F.A., Stella, F.: ‘On applying machine learning techniques for design pattern detection’, J. Syst. Softw., 2015, 103, pp. 102117.
    6. 6)
      • 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.
    7. 7)
      • 31. Fontana, F.A., Zanoni, M.: ‘A tool for design pattern detection and software architecture reconstruction’, Inf. Sci., 2011, 181, (7), pp. 13061324.
    8. 8)
      • 15. Burge, J., Brown, D.C.: ‘Reasoning with design rationale: artificial intelligence in Design'00’ (Kluwer Academic Publishers, Dordrecht, Netherlands, 2000), pp. 611629.
    9. 9)
      • 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.
    10. 10)
      • 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.
    11. 11)
      • 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.
    12. 12)
      • 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.
    13. 13)
      • 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.
    14. 14)
      • 24. Tang, A., Aleti, A., Burge, J., et al: ‘What makes software design effective?’, Des. Stud., 2010, 31, (6), pp. 614640.
    15. 15)
      • 22. Burge, J.E., Carroll, J.M., McCall, R., et al: ‘Rationale-based software engineering’ (Springer, Berlin & Heidelberg, Germany, 2008).
    16. 16)
      • 16. Bosch, J.: ‘Software architecture: the next step’. Proc. European Workshop on Software Architecture, Berlin, May 2004, pp. 194199.
    17. 17)
      • 6. van Vliet, H., Tang, A.: ‘Decision making in software architecture’, J. Syst. Softw., 2016, 117, pp. 638644.
    18. 18)
      • 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.
    19. 19)
      • 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.
    20. 20)
      • 30. Vokac, M.: ‘Defect frequency and design patterns: an empirical study of industrial code’, IEEE Trans. Softw. Eng., 2004, 30, (12), pp. 904917.
    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)
      • 23. Perry, D.E., Wolf, A.L.: ‘Foundations for the study of software architecture’, ACM SIGSOFT Softw. Eng. Notes, 1992, 17, (4), pp. 4052.
    23. 23)
      • 20. Kurtanović, Z., Maalej, W.: ‘On user rationale in software engineering’, Requir. Eng., 2018, 23, (3), pp. 357379.
    24. 24)
      • 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.
    25. 25)
      • 19. Mayvan, B.B., Rasoolzadegan, A.: ‘Design pattern detection based on the graph theory’, Knowl.-Based Syst., 2017, 120, pp. 211225.
    26. 26)
      • 4. Albin, S.T.: ‘The art of software architecture: design methods and techniques’ (John Wiley & Sons, Indianapolis, IN, USA, 2003).
    27. 27)
      • 17. Moran, T.P., Carroll, J.M.: ‘Design rationale: concepts, techniques, and use’ (L. Erlbaum Associates Inc., Hillsdale, NJ, USA, 1996).
    28. 28)
      • 28. The Edinburgh language technology group (LTG)’. Available at, accessed 12 September, 2016.
    29. 29)
      • 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.
    30. 30)
      • 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.
    31. 31)
      • 8. Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., et al: ‘Design pattern detection using similarity scoring’, IEEE Trans. Softw. Eng., 2006, 32, (11), pp. 896909.

Related content

This is a required field
Please enter a valid email address