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

Design pattern decay: the case for class grime

Published:18 September 2014Publication History

ABSTRACT

Context: We investigate class grime, a form of design pattern decay, wherein classes of the pattern realization have extraneous attributes or methods, which obfuscate the intended design of a pattern. Goal: To expand the taxonomy of class grime using properties of class cohesion. Using this expanded taxonomy we explore the effect that forms of class grime have on pattern realization understandability. Method: A pilot study utilizing a formal experiment to explore the effects of class grime on design pattern understandability. The experiments used simulated injection of 8 types of class grime into design pattern realizations randomly selected from 16 design pattern types from a set of 6541 realizations from 520 distinct software systems. Results: We found that for each of the 8 identified class grime forms, understandability was negatively affected. Conclusion: This work serves as early communication of research for the validation of the extended taxonomy as well as the method of grime injection used in the experiment.

References

  1. Ampatzoglou, A., Michou, O., and Stamelos, I. 2012. Building and mining a repository of design pattern instances: Practical and research benefits. Entertainment Computing 4, 2 (Apr. 2013), 131--142. DOI= http://dx.doi.org/10.1016/j.entcom.2012.10.002.Google ScholarGoogle Scholar
  2. Bansiya, J. and Davis, C. G. 2002. A hierarchical model for object-oriented design quality assessment. IEEE Trans. Soft. Eng. 28, 1 (Jan. 2002), 4--17. IEEE-CS, Los Alamitos, CA, USA. DOI= http://dx.doi.org/10.1109/32.979986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bieman, J. M. and Kang, B. K. 1995. Cohesion and reuse in an object-oriented system. In Proceedings of the ACM Symposium on Software Reusability (Seattle, WA, USA, April 23--30). SSR'94. ACM, New York, NY. 259--262. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Briand, L. C., Daly, J. W., and Wust, J. K. 1998. A unified framework for cohesion measurement in object-oriented systems. Empirical Software Engineering 3, 1 (Mar. 1998), 65--117. DOI= http://dx.doi.org/10.1023/A:1009783721306. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Briand, L., Morasca, S., and Basili, V. 1993. Measuring and assessing maintainability at the end of high level design. In Proceedings of IEEE Conference on Software Maintenance (Montreal, Canada, September 27--30). CSM'93. IEEE. 88-87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Eick, S. G., Graves, T. L., Karr, A. F., Marron, J. S., and Mockus, A. 2001. Does code decay? Assessing the evidence from change management data. IEEE Trans. Soft. Eng. 27, 1 (Jan. 2001), 1--12. IEEE-CS, Los Alamitos, CA, USA. DOI= http://dx.doi.org/10.1109/32.895984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. France, R. B., Kim D. K., Song, E., and Ghosh S. 2004. A UML-based pattern specification technique. IEEE Trans. Soft. Eng, 34, 5, (Mar. 2004), 193--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Izurieta, C. 2009. Decay and grime buildup in evolving object oriented design patterns. Ph.D. Dissertation. Colorado State University, Fort Collins, CO, USA. Advisor James Bieman. AAI3385139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Izurieta, C. and Bieman, J. M. 2007. How software designs decay: a pilot study of pattern evolution. In Proceedings of the First International Symposium on Empirical Software Engineering and Measurement (Madrid, Spain, September 20--21, 2007). ESEM 2007. 449--451. DOI= http://dx.doi.org/10.1109/ESEM.2007.55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Izurieta, C. and Bieman, J. M. 2008. Testing consequences of grime buildup in object oriented design patterns. In Proceedings of the First International Conference on Software Testing, Verification, and Validation (Lillehammer, Norway, April 9--11, 2008). ICST 2008. 171--179. DOI= http://dx.doi.org/10.1109/ICST.2008.27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Izurieta, C. and Bieman, J. M. 2013. A multiple case study of design pattern decay, grime, and rot in evolving software systems. Software Quality J. 21, 2 (Jun. 2013), 289--323. DOI= http://dx.doi.org/10.1007/s11219-012-9175-x. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 (Zurich, Switzerland, June 1, 2012). MTD 2012. IEEE, 23--26. DOI= http://dx.doi.org/10.1109/MTD.2012.6225995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Schanz, T. and Izurieta, C. 2010. Object oriented design pattern decay: a taxonomy. In Proceedings of the 2010 ACM-IEEE International Symposium on Emprical Software Engineering and Measurement (Bolzano-Bozen, Italy, September 16--17, 2010). ESEM 2010. ACM, New York, NY, 7:1--7:8. DOI= http://doi.acm.org/10.1145/1852786.1852796. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Design pattern decay: the case for class grime

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • 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

          Copyright © 2014 ACM

          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 ACM 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]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 18 September 2014

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          ESEM '14 Paper Acceptance Rate23of123submissions,19%Overall Acceptance Rate130of594submissions,22%

          Upcoming Conference

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader