Please use this identifier to cite or link to this item: http://bura.brunel.ac.uk/handle/2438/24932
Full metadata record
DC FieldValueLanguage
dc.contributor.authorHan, X-
dc.contributor.authorTahir, A-
dc.contributor.authorLiang, P-
dc.contributor.authorCounsell, S-
dc.contributor.authorBlincoe, K-
dc.contributor.authorLi, B-
dc.contributor.authorLuo, Y-
dc.date.accessioned2022-07-18T15:41:39Z-
dc.date.available2022-07-18T15:41:39Z-
dc.date.issued2022-06-04-
dc.identifier127-
dc.identifierarXiv:2205.07535 [cs.SE]-
dc.identifier.citationHan, X., Tahir, A., Liang, P., Counsell, S., Blincoe, K., Li, B. and Luo, Y. (2022) 'Code smells detection via modern code review: a study of the OpenStack and Qt communities', Empirical Software Engineering, 27 (6), pp. 1 - 42. doi:10.1007/s10664-022-10178-7.en_US
dc.identifier.issn1382-3256-
dc.identifier.urihttps://bura.brunel.ac.uk/handle/2438/24932-
dc.descriptionThis preprint was accepted for publication in Empirical Software Engineering, 2022. arXiv admin note: substantial text overlap with arXiv:2103.11446, available on 16 May 2022 at https://doi.org/10.48550/arXiv.2205.07535 under a Creative Commons CC BY Attribution licence (https://creativecommons.org/licenses/by/4.0/).-
dc.description.abstractCopyright © The Author(s) 2022. Code review plays an important role in software quality control. A typical review process involves a careful check of a piece of code in an attempt to detect and locate defects and other quality issues/violations. One type of issue that may impact the quality of software is code smells - i.e., bad coding practices that may lead to defects or maintenance issues. Yet, little is known about the extent to which code smells are identified during modern code review. To investigate the concept behind code smells identified in modern code review and what actions reviewers suggest and developers take in response to the identified smells, we conducted an empirical study of code smells in code reviews by analysing reviews from four, large open source projects from the OpenStack (Nova and Neutron) and Qt (Qt Base and Qt Creator) communities. We manually checked a total of 25,415 code review comments obtained by keywords search and random selection; this resulted in the identification of 1,539 smell-related reviews which then allowed the study of the causes of code smells, actions taken against identified smells, time taken to fix identified smells and reasons why developers ignored fixing identified smells. Our analysis found that 1) code smells were not commonly identified in code reviews, 2) smells were usually caused by violation of coding conventions, 3) reviewers usually provided constructive feedback, including fixing (refactoring) recommendations to help developers remove smells, 4) developers generally followed those recommendations and actioned the changes, 5) once identified by reviewers, it usually takes developers less than one week to fix the smells and 6) the main reason why developers chose to ignore the identified smells is that it is not worth fixing the smell. Our results suggest the following: 1) developers should closely follow coding conventions in their projects to avoid introducing code smells, 2) review-based detection of code smells is perceived to be a trustworthy approach by developers, mainly because reviews are context-sensitive (as reviewers are more aware of the context of the code given that they are part of the project’s development team) and 3) program context needs to be fully considered in order to make a decision of whether to fix the identified code smell immediately.en_US
dc.description.sponsorshipNational Natural Science Foundation of China (NSFC) under Grant No. 62172311; Special Fund of Hubei Luojia Laboratory.-
dc.format.extent1 - 42-
dc.format.mediumPrint-Electronic-
dc.languageEnglish-
dc.language.isoen_USen_US
dc.publisherSpringer Natureen_US
dc.rightsCopyright © The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2022.-
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/-
dc.source.urihttps://doi.org/10.48550/arXiv.2205.07535-
dc.subjectModern code reviewen_US
dc.subjectcode smellen_US
dc.subjectmining software repositoriesen_US
dc.subjectempirical studyen_US
dc.titleCode smells detection via modern code review: a study of the OpenStack and Qt communitiesen_US
dc.typeArticleen_US
dc.identifier.doihttps://doi.org/10.1007/s10664-022-10178-7-
dc.relation.isPartOfEmpirical Software Engineering-
pubs.issue6-
pubs.publication-statusPublished-
pubs.volume27-
dc.identifier.eissn1573-7616-
dc.rights.holderThe Author(s)-
dc.rights.holderThe Author(s)-
Appears in Collections:Dept of Computer Science Research Papers

Files in This Item:
File Description SizeFormat 
FullText.pdf2.36 MBAdobe PDFView/Open


This item is licensed under a Creative Commons License Creative Commons