Show simple item record

dc.contributor.authorHall, Tracy
dc.contributor.authorZhang, Min
dc.contributor.authorBowes, David
dc.contributor.authorSun, Yi
dc.date.accessioned2014-12-10T14:47:32Z
dc.date.available2014-12-10T14:47:32Z
dc.date.issued2014-08
dc.identifier.citationHall , T , Zhang , M , Bowes , D & Sun , Y 2014 , ' Some code smells have a significant but small effect on faults ' , ACM Transactions on Software Engineering & Methodology , vol. 23 , no. 4 , 33 . https://doi.org/10.1145/2629648
dc.identifier.issn1049-331X
dc.identifier.otherPURE: 7806773
dc.identifier.otherPURE UUID: a1358b89-1cd8-4d39-805c-805aa30b4964
dc.identifier.otherScopus: 84907027182
dc.identifier.urihttp://hdl.handle.net/2299/14912
dc.description.abstractWe 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.en
dc.language.isoeng
dc.relation.ispartofACM Transactions on Software Engineering & Methodology
dc.subjectDefects
dc.subjectSoftware code smells
dc.subjectSoftware
dc.titleSome code smells have a significant but small effect on faultsen
dc.contributor.institutionCentre for Computer Science and Informatics Research
dc.contributor.institutionSchool of Computer Science
dc.contributor.institutionScience & Technology Research Institute
dc.contributor.institutionBiocomputation Research Group
dc.description.statusPeer reviewed
rioxxterms.versionVoR
rioxxterms.versionofrecordhttps://doi.org/10.1145/2629648
rioxxterms.typeJournal Article/Review
herts.preservation.rarelyaccessedtrue


Files in this item

FilesSizeFormatView

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record