Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

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

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)
      • 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).
    2. 2)
      • 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.
    3. 3)
      • 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.
    4. 4)
      • 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.
    5. 5)
      • 1. Alexander, C., Ishikawa, S., Silverstein, M.: ‘A pattern language: towns, buildings, construction’, vol. 2 (Oxford University Press, New York, NY, USA, 1977).
    6. 6)
      • 46. Tanter, É., Figueroa, I., Tabareau, N.: ‘Execution levels for aspect-oriented programming: design, semantics, implementations and applications’, Sci. Comput. Program., 2014, 80, pp. 311342.
    7. 7)
      • 17. Kitchenham, B.: ‘Procedures for performing systematic reviews’. TR/SE-0401, Keele University, Keele, UK, 2004.
    8. 8)
      • 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.
    9. 9)
      • 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.
    10. 10)
      • 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.
    11. 11)
      • 26. Guéhéneuc, Y.G.: ‘P-MARt: pattern-like micro architecture repository’. Proc. 1st EuroPLoP Focus Group on Pattern Repositories, 2007, pp. 13.
    12. 12)
      • 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.
    13. 13)
      • 41. Eaddy, M., Zimmermann, T., Sherwood, K.D., et al: ‘Do crosscutting concerns cause defects?’, IEEE Trans. Softw. Eng., 2008, 34, (4), pp. 497515.
    14. 14)
      • 2. Gamma, E., Helm, R., Johnson, R., et al: ‘Design patterns: elements of reusable object-oriented software’ (Addison-Wesley, Boston, MA, USA, 1994).
    15. 15)
      • 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.
    16. 16)
      • 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.
    17. 17)
      • 56. Fisher, R.J.: ‘Social desirability bias and the validity of indirect questioning’, J. Consum. Res., 1993, 20, (2), pp. 303315.
    18. 18)
      • 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.
    19. 19)
      • 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.
    20. 20)
      • 51. ISO 9126: ‘Information technology: software product evaluation, quality characteristics and guidelines for their use’ (International Organization for Standardization, Geneva, Switzerland, 1992).
    21. 21)
      • 28. Tsantalis, N., Chatzigeorgiou, A., Stephanides, G., et al: ‘Design pattern detection using similarity scoring’, IEEE Trans. Softw. Eng., 2006, 32, (11), pp. 896909.
    22. 22)
      • 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.
    23. 23)
      • 54. Yin, R.K.: ‘Case study research: design and methods’ (Sage Publications, Thousand Oaks, CA, USA, 2009, 4th edn.).
    24. 24)
      • 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).
    25. 25)
      • 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.
    26. 26)
      • 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.
    27. 27)
      • 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.
    28. 28)
      • 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.
    29. 29)
      • 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.
    30. 30)
      • 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.
    31. 31)
      • 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.
    32. 32)
      • 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.
    33. 33)
      • 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.
    34. 34)
      • 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.
    35. 35)
      • 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.
    36. 36)
      • 55. Kerlinger, F.N., Lee, H.B.: ‘Foundations of behavioral research’ (Wadsworth Publishing, Belmont, CA, USA, 1999).
    37. 37)
      • 48. Bansiya, J., Davis, C.G.: ‘A hierarchical model for object-oriented design quality assessment’, IEEE Trans. Softw. Eng., 2002, 28, (1), pp. 417.
    38. 38)
      • 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.
    39. 39)
      • 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.
    40. 40)
      • 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.
    41. 41)
      • 44. The AspectJ Team: ‘Aspectj Compiler 1.8.10’, 2017. Available at http://www.eclipse.org/aspectj/.
    42. 42)
      • 34. Robson, C.: ‘Real world research: a resource for social scientists and practitioners–researchers’ (John Wiley & Sons, Chichester, UK, 1993).
    43. 43)
      • 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.
    44. 44)
      • 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.
    45. 45)
      • 20. Scopus: abstract and citation database of peer-reviewed literature. Elsevier, 2019. Available at https://www.elsevier.com/solutions/scopus.
    46. 46)
      • 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.
    47. 47)
      • 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.
    48. 48)
      • 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.
    49. 49)
      • 24. Kothari, C.R.: ‘Research methodology: methods and techniques’ (New Age International, New Delhi, India, 2004).
    50. 50)
      • 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.
    51. 51)
      • 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.
    52. 52)
      • 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.
    53. 53)
      • 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.
    54. 54)
      • 38. Chidamber, S.R., Kemerer, C.F.: ‘A metrics suite for object oriented design’, IEEE Trans. Softw. Eng., 1994, 20, (6), pp. 476493.
    55. 55)
      • 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.
    56. 56)
      • 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.
    57. 57)
      • 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.
    58. 58)
      • 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.
    59. 59)
      • 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.
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