http://iet.metastore.ingenta.com
1887

Impact of design patterns on software quality: a systematic literature review

Impact of design patterns on software quality: a systematic literature review

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

Buy article PDF
$19.95
(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
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
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.

The impact of design patterns on quality attributes has been extensively evaluated in studies with different perspectives, objectives, metrics, and quality attributes, leading to contradictive and hard to compare results. The authors’ objective is to explain these results by considering confounding factors, practices, metrics, or implementation issues that affect quality. Furthermore, there is a lack of research that connects design patterns evaluations to patterns development studies. Accordingly, they also aim at providing an initiate on how patterns structure and implementation can be improved, to promote software quality. To achieve their goals, conducted a systematic literature review by searching the literature for related studies. The study covers the period between years 2000 and 2018. They identified 804 candidate papers. After applying inclusion and exclusion criteria, they were left with 50 primary studies. Their results show that documentation of patterns, size of pattern classes, and the scattering degree of patterns have clear impact on quality. In case studies, researchers used different metrics applied to different modules. Controlled experiments have major design differences. Reaching consensuses on the effect of patterns requires considering influencing factors, using unified metrics, and an agreement on what modules to measure. Studying how to improve patterns modularity is recommended for future research.

References

    1. 1)
      • 1. Alexander, C., Ishikawa, S., Silverstein, M.: ‘A pattern language: towns, buildings, construction’, vol. 2 (Oxford University Press, New York, NY, USA, 1977).
    2. 2)
      • 2. Gamma, E., Helm, R., Johnson, R., et al: ‘Design patterns: elements of reusable object-oriented software’ (Addison-Wesley, Boston, MA, USA, 1994).
    3. 3)
      • 3. Schmidt, D., Stal, M., Rohnert, H., et al: ‘Pattern-oriented software architecture, volume 1: a system of patterns’ (John Wiley & Sons, Chichester, UK, 1996).
    4. 4)
      • 4. Schmidt, D., Stal, M., Rohnert, H., et al: ‘Patterns for concurrent and networked objects, volume 2 of pattern-oriented software architecture’ (Wiley, Chichester, UK, 2000).
    5. 5)
      • 5. Prechelt, L., Unger, B., Tichy, W.F., et al: ‘A controlled experiment in maintenance: comparing design patterns to simpler solutions’, IEEE Trans. Softw. Eng., 2001, 27, (12), pp. 11341144.
    6. 6)
      • 6. Aversano, L., Cerulo, L., Di Penta, M.: ‘Relating the evolution of design patterns and crosscutting concerns’. Seventh IEEE Int. Working Conf. on Source Code Analysis and Manipulation (SCAM 2007), Paris, France, 30 September–1 October 2007, pp. 180192.
    7. 7)
      • 7. Gatrell, M., Counsell, S., Hall, T.: ‘Design patterns and change proneness: a replication using proprietary C# software’. 16th Working Conf. on Reverse Engineering (WCRE'09), Lille, France, October 2009, pp. 160164.
    8. 8)
      • 8. Vokáč, M., Tichy, W., Sjøberg, D.I., et al: ‘A controlled experiment comparing the maintainability of programs designed with and without design patterns—a replication in a real programming environment’, Empir. Softw. Eng., 2004, 9, (3), pp. 149195.
    9. 9)
      • 9. 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.
    10. 10)
      • 10. Nanthaamornphong, A., Carver, J.C.: ‘Design patterns in software maintenance: an experiment replication at University of Alabama’. Second Int. Workshop on Replication in Empirical Software Engineering Research (RESER), Banff, AB, Canada, September 2011, pp. 1524.
    11. 11)
      • 11. Ali, M., Elish, M.O.: ‘A comparative literature survey of design patterns impact on software quality’. Int. Conf. on Information Science and Applications (ICISA), Suwon, South Korea, June 2013, pp. 17.
    12. 12)
      • 12. Ampatzoglou, A., Charalampidou, S., Stamelos, I.: ‘Research state of the art on GoF design patterns: a mapping study’, J. Syst. Softw., 2013, 86, (7), pp. 19451964.
    13. 13)
      • 13. Riaz, M., Breaux, T., Williams, L.: ‘How have we evaluated software pattern application? a systematic mapping study of research design practices’, Inf. Softw. Technol., 2015, 65, pp. 1438.
    14. 14)
      • 14. Weiss, M.: ‘Patterns and their impact on system concerns’. 13th Annual European Conf. on Pattern Languages of Programming (EuroPLoP), Irsee, Germany, July 2008, pp. S2-1S2-10.
    15. 15)
      • 15. Zhang, C., Budgen, D.: ‘What do we know about the effectiveness of software design patterns?’, IEEE Trans. Softw. Eng., 2012, 38, (5), pp. 12131231.
    16. 16)
      • 16. Mayvan, B.B., Rasoolzadegan, A., Yazdi, Z.G.: ‘The state of the art on design patterns: A systematic mapping of the literature’, J. Syst. Softw., 2017, 125, pp. 93118.
    17. 17)
      • 17. Kitchenham, B.: ‘Procedures for performing systematic reviews’. TR/SE-0401, Keele University, Keele, UK, 2004.
    18. 18)
      • 18. Jabangwe, R., Börstler, J., Šmite, D., et al: ‘Empirical evidence on the link between object-oriented measures and external quality attributes: a systematic literature review’, Empir. Softw. Eng., 2015, 20, (3), pp. 640693.
    19. 19)
      • 19. Dyba, T., Dingsoyr, T., Hanssen, G.K.: ‘Applying systematic reviews to diverse study types: an experience report’. First Int. Symp. on Empirical Software Engineering and Measurement (ESEM 2007), Madrid, Spain, September, 2007, pp. 225234.
    20. 20)
      • 20. Scopus: abstract and citation database of peer-reviewed literature. Elsevier, 2019. Available at https://www.elsevier.com/solutions/scopus.
    21. 21)
      • 21. Aridor, Y., Lange, D.B.: ‘Agent design patterns: elements of agent application design’. Proc. Second Int. Conf. on Autonomous Agents, Minneapolis, MN, USA, May 1998, pp. 108115.
    22. 22)
      • 22. Izurieta, C., Bieman, J.M.: ‘How software designs decay: a pilot study of pattern evolution’. First Int. Symp. on Empirical Software Engineering and Measurement (ESEM) 2007, Madrid, Spain, September 2007, pp. 449451.
    23. 23)
      • 23. Izurieta, C., Bieman, J.M.: ‘A multiple case study of design pattern decay, grime, and rot in evolving software systems’, Softw. Qual. J., 2013, 21, (2), pp. 289323.
    24. 24)
      • 24. Kothari, C.R.: ‘Research methodology: methods and techniques’ (New Age International, New Delhi, India, 2004).
    25. 25)
      • 25. Runeson, P., Höst, M.: ‘Guidelines for conducting and reporting case study research in software engineering’, Empir. Softw. Eng., 2008, 14, (2), pp. 131164.
    26. 26)
      • 26. Guéhéneuc, Y.G.: ‘P-MARt: pattern-like micro architecture repository’. Proc. 1st EuroPLoP Focus Group on Pattern Repositories, 2007, pp. 13.
    27. 27)
      • 27. Dong, J., Zhao, Y., Peng, T.: ‘A review of design pattern mining techniques’, Int. J. Softw. Eng. Knowl. Eng., 2009, 19, (6), pp. 823855.
    28. 28)
      • 28. Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., et al: ‘Design pattern detection using similarity scoring’, IEEE Trans. Softw. Eng., 2006, 32, (11), pp. 896909.
    29. 29)
      • 29. Guéhéneuc, Y.G., Antoniol, G.: ‘DeMIMA: a multilayered approach for design pattern identification’, IEEE Trans. Softw. Eng., 2008, 34, (5), pp. 667684.
    30. 30)
      • 30. Guéhéneuc, Y.G.: ‘Ptidej: a flexible reverse engineering tool suite’. IEEE Int. Conf. on Software Maintenance, 2007 (ICSM 2007), Paris, France, October 2007, pp. 529530.
    31. 31)
      • 31. Shi, N., Olsson, R.A.: ‘Reverse engineering of design patterns from Java source code’. 21st IEEE/ACM Int. Conf. on Automated Software Engineering (ASE'06), Tokyo, Japan, September 2006, pp. 123134.
    32. 32)
      • 32. Wohlin, C., Höst, M., Henningsson, K.: ‘Empirical research methods in software engineering’ in Conradi, R., Wang, A.I. (Eds.): ‘Empirical methods and studies in software engineering’ (Springer, Verlag, Berlin & Heidelberg, 2003), pp. 723.
    33. 33)
      • 33. Kitchenham, B.A., Pfleeger, S.L., Pickard, L.M., et al: ‘Preliminary guidelines for empirical research in software engineering’, IEEE Trans. Softw. Eng., 2002, 28, (8), pp. 721734.
    34. 34)
      • 34. Robson, C.: ‘Real world research: a resource for social scientists and practitioners–researchers’ (John Wiley & Sons, Chichester, UK, 1993).
    35. 35)
      • 35. Forward, A., Lethbridge, T.C.: ‘The relevance of software documentation, tools and technologies: a survey’. Proc. 2002 ACM Symp. on Document Engineering, McLean, VA, USA, November 2002, pp. 2633.
    36. 36)
      • 36. de Souza, S.C.B., Anquetil, N., de Oliveira, K.M.: ‘A study of the documentation essential to software maintenance’. Proc. 23rd Annual Int. Conf. on Design of Communication: Documenting & Designing for Pervasive Information, Coventry, UK, September, 2005, pp. 6875.
    37. 37)
      • 37. El Emam, K., Benlarbi, S., Goel, N., et al: ‘The confounding effect of class size on the validity of object-oriented metrics’, IEEE Trans. Softw. Eng., 2001, 27, (7), pp. 630650.
    38. 38)
      • 38. Chidamber, S.R., Kemerer, C.F.: ‘A metrics suite for object oriented design’, IEEE Trans. Softw. Eng., 1994, 20, (6), pp. 476493.
    39. 39)
      • 39. Pree, W.: ‘Meta patterns – a means for capturing the essentials of reusable object-oriented design’. European Conf. on Object-Oriented Programming (ECOOP'94), Bologna, Italy, July, 1994, pp. 150162.
    40. 40)
      • 40. Wedyan, F., Ghosh, S., Vijayasarathy, L.R.: ‘An approach and tool for measurement of state variable based data-flow test coverage for aspect-oriented programs’, Inf. Softw. Technol., 2015, 59, pp. 233254.
    41. 41)
      • 41. Eaddy, M., Zimmermann, T., Sherwood, K.D., et al: ‘Do crosscutting concerns cause defects?’, IEEE Trans. Softw. Eng., 2008, 34, (4), pp. 497515.
    42. 42)
      • 42. Eaddy, M., Aho, A., Murphy, G.C.: ‘Identifying, assigning, and quantifying crosscutting concerns’. Proc. First Int. Workshop on Assessment of Contemporary Modularization Techniques (ACoM'07), Minneapolis, MN, USA, May 2007, p. 2. Available at http://dx.doi.org/10.1109/ACOM.2007.4.
    43. 43)
      • 43. Wedyan, F., Ghosh, S.: ‘A dataflow testing approach for aspect-oriented programs’. 2010 IEEE 12th Int. Symp. on High-Assurance Systems Engineering (HASE), San Jose, CA, USA, November 2010, pp. 6473.
    44. 44)
      • 44. The AspectJ Team: ‘Aspectj Compiler 1.8.10’, 2017. Available at http://www.eclipse.org/aspectj/.
    45. 45)
      • 45. Roo, A., Hendriks, M., Havinga, W., et al: ‘Compose*: a language-and platform-independent aspect compiler for composition filters’. Int. Workshop on Advanced Software Development Tools and Techniques, Paphos, Cyprus, July 2008, pp. 114.
    46. 46)
      • 46. Tanter, É., Figueroa, I., Tabareau, N.: ‘Execution levels for aspect-oriented programming: design, semantics, implementations and applications’, Sci. Comput. Program., 2014, 80, pp. 311342.
    47. 47)
      • 47. Leger, P., Fukuda, H.: ‘Why do developers not take advantage of the progress in modularity?’. Proc. 8th Int. Conf. on Bioinspired Information and Communications Technologies, Boston, MA, USA, December 2014, pp. 388389.
    48. 48)
      • 48. Bansiya, J., Davis, C.G.: ‘A hierarchical model for object-oriented design quality assessment’, IEEE Trans. Softw. Eng., 2002, 28, (1), pp. 417.
    49. 49)
      • 49. Bakota, T., Hegedűs, P., Körtvélyesi, P., et al: ‘A probabilistic software quality model’. 2011 27th IEEE Int. Conf. on Software Maintenance (ICSM), Williamsburg, VI, USA, September 2011, pp. 243252.
    50. 50)
      • 50. Ampatzoglou, A., Chatzigeorgiou, A., Charalampidou, S., et al: ‘The effect of GoF design patterns on stability: a case study’, IEEE Trans. Softw. Eng., 2015, 41, (8), pp. 781802.
    51. 51)
      • 51. ISO 9126: ‘Information technology: software product evaluation, quality characteristics and guidelines for their use’ (International Organization for Standardization, Geneva, Switzerland, 1992).
    52. 52)
      • 52. ISO 25010: ‘ISO/IEC 25010:2011: 2011 systems and software engineering–systems and software quality requirements and evaluation (SQuaRE)–system and software quality models’ (International Organization for Standardization, Geneva, Switzerland, 2011), pp. 134.
    53. 53)
      • 53. Bieman, J.M., Jain, D., Yang, H.J.: ‘OO design patterns, design structure, and program changes: an industrial case study’. Proc. IEEE Int. Conf. on Software Maintenance, Florence, Italy, November 2001, pp. 580589.
    54. 54)
      • 54. Yin, R.K.: ‘Case study research: design and methods’ (Sage Publications, Thousand Oaks, CA, USA, 2009, 4th edn.).
    55. 55)
      • 55. Kerlinger, F.N., Lee, H.B.: ‘Foundations of behavioral research’ (Wadsworth Publishing, Belmont, CA, USA, 1999).
    56. 56)
      • 56. Fisher, R.J.: ‘Social desirability bias and the validity of indirect questioning’, J. Consum. Res., 1993, 20, (2), pp. 303315.
    57. 57)
      • 57. Zhou, X., Jin, Y., Zhang, H., et al: ‘A map of threats to validity of systematic literature reviews in software engineering’. 2016 23rd Asia–Pacific Software Engineering Conf. (APSEC), Hamilton, New Zealand, December 2016, pp. 153160.
    58. 58)
      • 58. Afacan, T.: ‘State design pattern implementation of a DSP processor: a case study of TMS5416C’. 6th IEEE Int. Symp. on Industrial Embedded Systems (SIES), Vasteras, Sweden, June 2011, pp. 6770.
    59. 59)
      • 59. Petersen, K., Vakkalanka, S., Kuzniarz, L.: ‘Guidelines for conducting systematic mapping studies in software engineering: an update’, Inf. Softw. Technol., 2015, 64, pp. 118.
http://iet.metastore.ingenta.com/content/journals/10.1049/iet-sen.2018.5446
Loading

Related content

content/journals/10.1049/iet-sen.2018.5446
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address