Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2652524.2652560acmconferencesArticle/Chapter ViewAbstractPublication PagesesemConference Proceedingsconference-collections
research-article

Impacts of design pattern decay on system quality

Published: 18 September 2014 Publication History

Abstract

Context Software systems need to be of high enough quality to enable growth and stability.
Goal The purpose of this research is to study the effects of code changes that violate a design pattern's intended role on the quality of a project.
Method To investigate this problem, we have developed a grime injector to model grime growth, a form of design pattern decay, on Java projects. We use SonarQube's technical debt software to compare the technical debt scores of six different types of modular grime. These six types can be classified along three major dimensions: strength, scope, and direction.
Results We find that the strength dimension is the most important contributor to the quality of a design and that temporary grime results in higher technical debt scores than persistent grime.
Conclusion This knowledge helps with design decisions that help manage a project's technical debt.

References

[1]
Sonarqube 3.7.4. http://www.sonarqube.org/downloads/.
[2]
Cunningham, W. The wycash portfolio management system. In ACM SIGPLAN OOPS Messenger (1992), vol. 4, ACM, pp. 29--30.
[3]
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design patterns: elements of reusable object-oriented software. Pearson Education, 1994.
[4]
Izurieta, C., and Bieman, J. M. How software designs decay: A pilot study of pattern evolution. In Empirical Software Engineering and Measurement, 2007. ESEM 2007. First International Symposium on (2007), IEEE, pp. 449--451.
[5]
Izurieta, C., and Bieman, J. M. Testing consequences of grime buildup in object oriented design patterns. In Software Testing, Verification, and Validation, 2008 1st International Conference on (2008), IEEE, pp. 171--179.
[6]
Izurieta, C., and Bieman, J. M. A multiple case study of design pattern decay, grime, and rot in evolving software systems. Software Quality Journal 21, 2 (2013), 289--323.
[7]
Izurieta, C., Vetro, A., Zazworka, N., Cai, Y., Seaman, C., and Shull, F. Organizing the technical debt landscape. In Proceedings of the Third International Workshop on Managing Technical Debt (2012), IEEE, MTD 2012, pp. 23--26.
[8]
Letouzey, J.-L. The sqale method for evaluating technical debt. MTD, ICSE (2012).
[9]
Letouzey, J.-L., and Coq, T. The sqale analysis model: An analysis model compliant with the representation condition for assessing the quality of software source code. In Proceedings of the 2010 Second International Conference on Advances in System Testing and Validation Lifecycle (2010), IEEE Computer Society, pp. 43--48.
[10]
Schanz, T., and Izurieta, C. Object oriented design pattern decay: a taxonomy. In Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (2010), ACM.
[11]
Zazworka, N., Cai, Y., Izurieta, C., Seaman, C., and Shull, F. Comparing four approaches for technical debt identification. Software Quality Journal, Springer US (April 2013), 1--24.

Cited By

View all
  • (2024)An empirical investigation of the relationship between pattern grime and code smellsJournal of Software: Evolution and Process10.1002/smr.266636:9Online publication date: 16-Sep-2024
  • (2023)A Safari for Deviating GoF Pattern Definitions and Examples on the WebConceptual Modeling10.1007/978-3-031-47262-6_10(181-197)Online publication date: 29-Oct-2023
  • (2022)Toward Investigating the Violations Roles of Pattern Grime Occurrence in Software Design PatternsProceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering10.1145/3530019.3535347(336-341)Online publication date: 13-Jun-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEM '14: Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement
September 2014
461 pages
ISBN:9781450327749
DOI:10.1145/2652524
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 September 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. design pattern grime
  2. object orientated design patterns
  3. system quality
  4. technical debt

Qualifiers

  • Research-article

Conference

ESEM '14
Sponsor:

Acceptance Rates

ESEM '14 Paper Acceptance Rate 23 of 123 submissions, 19%;
Overall Acceptance Rate 130 of 594 submissions, 22%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)An empirical investigation of the relationship between pattern grime and code smellsJournal of Software: Evolution and Process10.1002/smr.266636:9Online publication date: 16-Sep-2024
  • (2023)A Safari for Deviating GoF Pattern Definitions and Examples on the WebConceptual Modeling10.1007/978-3-031-47262-6_10(181-197)Online publication date: 29-Oct-2023
  • (2022)Toward Investigating the Violations Roles of Pattern Grime Occurrence in Software Design PatternsProceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering10.1145/3530019.3535347(336-341)Online publication date: 13-Jun-2022
  • (2022)Technical debts and faults in open-source quantum software systems: An empirical studyJournal of Systems and Software10.1016/j.jss.2022.111458193(111458)Online publication date: Nov-2022
  • (2022)Does it matter who pays back Technical Debt? An empirical study of self-fixed TDInformation and Software Technology10.1016/j.infsof.2021.106738143:COnline publication date: 1-Mar-2022
  • (2021)Bad Smells of Gang of Four Design Patterns: A Decade Systematic Literature ReviewSustainability10.3390/su13181025613:18(10256)Online publication date: 14-Sep-2021
  • (2021)Evolution of technical debt remediation in PythonJournal of Software: Evolution and Process10.1002/smr.231933:4Online publication date: 1-Apr-2021
  • (2020)COMPARISON OF JAVA PROGRAMMING TESTING TOOLSInternational Journal of Engineering Technologies and Management Research10.29121/ijetmr.v5.i2.2018.1475:2(66-76)Online publication date: 8-Feb-2020
  • (2020)An empirical study on self-fixed technical debtProceedings of the 3rd International Conference on Technical Debt10.1145/3387906.3388621(11-20)Online publication date: 28-Jun-2020
  • (2020)Investigating the Relationship between Co-occurring Technical Debt in Python2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA51224.2020.00082(487-494)Online publication date: Aug-2020
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media