{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,20]],"date-time":"2026-05-20T14:31:42Z","timestamp":1779287502442,"version":"3.51.4"},"reference-count":77,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2014,9,5]],"date-time":"2014-09-05T00:00:00Z","timestamp":1409875200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Softw. Eng. Methodol."],"published-print":{"date-parts":[[2014,9,5]]},"abstract":"<jats:p>We investigate the relationship between faults and five of Fowler et al.'s least-studied smells in code: Data Clumps, Switch Statements, Speculative Generality, Message Chains, and Middle Man. We developed a tool to detect these five smells in three open-source systems: Eclipse, ArgoUML, and Apache Commons. We collected fault data from the change and fault repositories of each system. We built Negative Binomial regression models to analyse the relationships between smells and faults and report the McFadden effect size of those relationships. Our results suggest that Switch Statements had no effect on faults in any of the three systems; Message Chains increased faults in two systems; Message Chains which occurred in larger files reduced faults; Data Clumps reduced faults in Apache and Eclipse but increased faults in ArgoUML; Middle Man reduced faults only in ArgoUML, and Speculative Generality reduced faults only in Eclipse. File size alone affects faults in some systems but not in all systems. Where smells did significantly affect faults, the size of that effect was small (always under 10 percent). Our findings suggest that some smells do indicate fault-prone code in some circumstances but that the effect that these smells have on faults is small. Our findings also show that smells have different effects on different systems. We conclude that arbitrary refactoring is unlikely to significantly reduce fault-proneness and in some cases may increase fault-proneness.<\/jats:p>","DOI":"10.1145\/2629648","type":"journal-article","created":{"date-parts":[[2014,9,9]],"date-time":"2014-09-09T14:39:29Z","timestamp":1410273569000},"page":"1-39","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":146,"title":["Some Code Smells Have a Significant but Small Effect on Faults"],"prefix":"10.1145","volume":"23","author":[{"given":"Tracy","family":"Hall","sequence":"first","affiliation":[{"name":"Brunel University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Min","family":"Zhang","sequence":"additional","affiliation":[{"name":"University of Hertfordshire"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Bowes","sequence":"additional","affiliation":[{"name":"University of Hertfordshire"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yi","family":"Sun","sequence":"additional","affiliation":[{"name":"University of Hertfordshire"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,9,5]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2011.24"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1146238.1146246"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISSRE.2009.17"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39742-4_6"},{"key":"e_1_2_1_5_1","volume-title":"Proceeding of the 4th International Workshop on Emerging Trends in Software Metrics. ACM.","author":"Bowes D.","unstructured":"D. Bowes , D. Randall , and T. Hall . 2013. The inconsistent measurement of message chains . In Proceeding of the 4th International Workshop on Emerging Trends in Software Metrics. ACM. D. Bowes, D. Randall, and T. Hall. 2013. The inconsistent measurement of message chains. In Proceeding of the 4th International Workshop on Emerging Trends in Software Metrics. ACM."},{"key":"e_1_2_1_6_1","volume-title":"Mowbray","author":"Brown William H.","year":"1998","unstructured":"William H. Brown , Raphael C. Malveau , and Thomas J . Mowbray . 1998 . AntiPatterns: Refactoring Software , Architectures, and Projects in Crisis. Wiley . William H. Brown, Raphael C. Malveau, and Thomas J. Mowbray. 1998. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1177\/001316446002000104"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/TAIC-PART.2006.33"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1080\/00223890802634175"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1109\/QSIC.2010.58"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2010.16"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/581339.581371"},{"key":"e_1_2_1_13_1","volume-title":"An Introduction to Generalized Linear Models","author":"Dobson Annette J.","unstructured":"Annette J. Dobson . 2010. An Introduction to Generalized Linear Models . CRC Press . Annette J. Dobson. 2010. An Introduction to Generalized Linear Models. CRC Press."},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the IASTED Conference on Software Engineering. 346--355","author":"Bois Bart Du","year":"2006","unstructured":"Bart Du Bois , Serge Demeyer , Jan Verelst , Tom Mens , and Marijn Temmerman . 2006 . Does God class decomposition affect comprehensibility&quest; . In Proceedings of the IASTED Conference on Software Engineering. 346--355 . Bart Du Bois, Serge Demeyer, Jan Verelst, Tom Mens, and Marijn Temmerman. 2006. Does God class decomposition affect comprehensibility&quest;. In Proceedings of the IASTED Conference on Software Engineering. 346--355."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSTW.2011.12"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2013.56"},{"key":"e_1_2_1_17_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler Martin","year":"1999","unstructured":"Martin Fowler and Kent Beck . 1999 . Refactoring: Improving the Design of Existing Code . Addison-Wesley , Boston, MA . Martin Fowler and Kent Beck. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, MA."},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/TR.2007.896761"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985836"},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the 1st ECOOP Workshop on Building a System Using Patterns.","author":"Gu\u00e9h\u00e9neuc Yann-Ga\u00ebl","year":"2005","unstructured":"Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc . 2005 . Ptidej: Promoting patterns with patterns . In Proceedings of the 1st ECOOP Workshop on Building a System Using Patterns. Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc. 2005. Ptidej: Promoting patterns with patterns. In Proceedings of the 1st ECOOP Workshop on Building a System Using Patterns."},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2008.48"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2011.103"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-13792-1_10"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1390817.1390821"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070547"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2007.02.015"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-008-9076-6"},{"key":"e_1_2_1_28_1","volume-title":"Refactoring to Patterns","author":"Kerievsky Joshua","unstructured":"Joshua Kerievsky . 2004. Refactoring to Patterns . Addison Wesley . Joshua Kerievsky. 2004. Refactoring to Patterns. Addison Wesley."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2009.28"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1109\/QSIC.2009.47"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2007.66"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2006.10.018"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/62084.62113"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2013.4"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-006-9002-8"},{"key":"e_1_2_1_36_1","volume-title":"Proceedings of the International Conference on Software Maintenance (ICSM'03)","author":"M\u00e4ntyl\u00e4 M.","year":"2003","unstructured":"M. M\u00e4ntyl\u00e4 , J. Vanhanen , and C. Lassenius . 2003. A taxonomy and an initial empirical study of bad smells in code . In Proceedings of the International Conference on Software Maintenance (ICSM'03) . 381--384. DOI:http:\/\/dx.doi.org\/10.1109\/ICSM. 2003 .1235447 10.1109\/ICSM.2003.1235447 M. M\u00e4ntyl\u00e4, J. Vanhanen, and C. Lassenius. 2003. A taxonomy and an initial empirical study of bad smells in code. In Proceedings of the International Conference on Software Maintenance (ICSM'03). 381--384. DOI:http:\/\/dx.doi.org\/10.1109\/ICSM.2003.1235447"},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 20th IEEE International Conference on Software Maintenance. 399--408","author":"M\u00e4ntyl\u00e4 M. V.","year":"2004","unstructured":"M. V. M\u00e4ntyl\u00e4 , J. Vanhanen , and C. Lassenius . 2004. Bad smells - Humans as code critics . In Proceedings of the 20th IEEE International Conference on Software Maintenance. 399--408 . DOI:http:\/\/dx.doi.org\/10.1109\/ICSM. 2004 .1357825 10.1109\/ICSM.2004.1357825 M. V. M\u00e4ntyl\u00e4, J. Vanhanen, and C. Lassenius. 2004. Bad smells - Humans as code critics. In Proceedings of the 20th IEEE International Conference on Software Maintenance. 399--408. DOI:http:\/\/dx.doi.org\/10.1109\/ICSM.2004.1357825"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2005.63"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.5555\/1018431.1021443"},{"key":"e_1_2_1_40_1","volume-title":"Quantitative Methods for Analyzing Travel Behavior of Individuals: Some Recent Developments","author":"McFadden Daniel","unstructured":"Daniel McFadden . 1977. Quantitative Methods for Analyzing Travel Behavior of Individuals: Some Recent Developments . Institute of Transportation Studies , University of California. Daniel McFadden. 1977. Quantitative Methods for Analyzing Travel Behavior of Individuals: Some Recent Developments. Institute of Transportation Studies, University of California."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.1265817"},{"key":"e_1_2_1_42_1","volume-title":"Proceedings of the 6th International Workshop on Principles of Software Evolution. 39--44","author":"Mens T.","year":"2003","unstructured":"T. Mens , T. Tourwe , and F. Munoz . 2003. Beyond the refactoring browser: Advanced tool support for software refactoring . In Proceedings of the 6th International Workshop on Principles of Software Evolution. 39--44 . DOI:http:\/\/dx.doi.org\/10.1109\/IWPSE. 2003 .1231207 10.1109\/IWPSE.2003.1231207 T. Mens, T. Tourwe, and F. Munoz. 2003. Beyond the refactoring browser: Advanced tool support for software refactoring. In Proceedings of the 6th International Workshop on Principles of Software Evolution. 39--44. DOI:http:\/\/dx.doi.org\/10.1109\/IWPSE.2003.1231207"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.50"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.5555\/823457.824038"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/METRICS.2005.38"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1879211.1879216"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/1879211.1879216"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134349"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2009.5314231"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSM.2010.5609564"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985913"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2005.49"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2013.6693086"},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the 7th IEEE Working Conference Mining Software Repositories (MSR). 72--81","author":"Rahman F.","year":"2010","unstructured":"F. Rahman , C. Bird , and P. Devanbu . 2010. Clones: What is that smell&quest; . In Proceedings of the 7th IEEE Working Conference Mining Software Repositories (MSR). 72--81 . DOI:http:\/\/dx.doi.org\/10.1109\/MSR. 2010 .5463343 10.1109\/MSR.2010.5463343 F. Rahman, C. Bird, and P. Devanbu. 2010. Clones: What is that smell&quest;. In Proceedings of the 7th IEEE Working Conference Mining Software Repositories (MSR). 72--81. DOI:http:\/\/dx.doi.org\/10.1109\/MSR.2010.5463343"},{"key":"e_1_2_1_55_1","volume-title":"Computer Science","author":"Randall David","unstructured":"David Randall . 2012. A study of techniques for the definition and detection of design and code bad smells. Master's Thesis , Computer Science , University of Hertfordshire . David Randall. 2012. A study of techniques for the definition and detection of design and code bad smells. Master's Thesis, Computer Science, University of Hertfordshire."},{"key":"e_1_2_1_56_1","volume-title":"Proceedings of the International MultiConference of Engineers and Computer Scientists. 1001--1007","author":"Rao A. A.","unstructured":"A. A. Rao and K. N. Reddy . 2008. Detecting bad smells in object oriented design using design change propagation probability matrix . In Proceedings of the International MultiConference of Engineers and Computer Scientists. 1001--1007 . A. A. Rao and K. N. Reddy. 2008. Detecting bad smells in object oriented design using design change propagation probability matrix. In Proceedings of the International MultiConference of Engineers and Computer Scientists. 1001--1007."},{"key":"e_1_2_1_57_1","volume-title":"Proceedings of the 5th International Symposium on Empirical Software Engineering","volume":"2","author":"Schr\u00f6ter Adrian","year":"2006","unstructured":"Adrian Schr\u00f6ter , Thomas Zimmermann , Rahul Premraj , and Andreas Zeller . 2006 . If your bug database could talk . In Proceedings of the 5th International Symposium on Empirical Software Engineering , Vol. 2 . 18--20. Adrian Schr\u00f6ter, Thomas Zimmermann, Rahul Premraj, and Andreas Zeller. 2006. If your bug database could talk. In Proceedings of the 5th International Symposium on Empirical Software Engineering, Vol. 2. 18--20."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/1852786.1852797"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1109\/ITNG.2006.31"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1049\/ic.2012.0035"},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2009.76"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2012.89"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/1083142.1083147"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0164-1212(02)00024-9"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1145\/320384.320389"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSMR.2007.51"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1109\/WCRE.2009.23"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.99"},{"key":"e_1_2_1_70_1","doi-asserted-by":"crossref","unstructured":"Aiko Yamashita and Steve Counsell. 2013. Code smells as system-level indicators of maintainability: An Empirical Study. J. Sys. Softw. (2013).  Aiko Yamashita and Steve Counsell. 2013. Code smells as system-level indicators of maintainability: An Empirical Study. J. Sys. Softw. (2013).","DOI":"10.1016\/j.jss.2013.05.007"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.5555\/2486788.2486878"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2013.08.002"},{"key":"e_1_2_1_73_1","volume-title":"Can we trust software repositories&quest","author":"Zeller Andreas","unstructured":"Andreas Zeller . 2013. Can we trust software repositories&quest ; In Perspectives on the Future of Software Engineering, Springer , 209--215. Andreas Zeller. 2013. Can we trust software repositories&quest; In Perspectives on the Future of Software Engineering, Springer, 209--215."},{"key":"e_1_2_1_74_1","doi-asserted-by":"publisher","DOI":"10.1109\/SEW.2008.26"},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1002\/smr.521"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1145\/1390817.1390831"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.32"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1109\/PROMISE.2007.10"}],"container-title":["ACM Transactions on Software Engineering and Methodology"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2629648","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2629648","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:13:30Z","timestamp":1750227210000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2629648"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2014,9,5]]},"references-count":77,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2014,9,5]]}},"alternative-id":["10.1145\/2629648"],"URL":"https:\/\/doi.org\/10.1145\/2629648","relation":{},"ISSN":["1049-331X","1557-7392"],"issn-type":[{"value":"1049-331X","type":"print"},{"value":"1557-7392","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,9,5]]},"assertion":[{"value":"2010-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-02-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2014-09-05","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}