Abstract
Objective: Open-source software (OSS) has become an important choice for developing software applications, and its usage has exponentially increased in recent years. Although many OSS systems have shown high reliability in terms of their functionality, they often exhibit several quality issues. Since most developers focus primarily on meeting clients’ functional requirements within the appropriate deadlines, the outcome suffers from poor design and implementation practices. This issue can also manifest as software code smells, resulting in a variety of quality issues such as software maintainability, comprehensibility, and extensibility. Generally speaking, OSS developers use code reviews during their software development to discover flaws or bugs in the updated code before it is merged with the code base. Nevertheless, despite the harmful impacts of code smells on software projects, the extent to which developers do consider them in the code review process is unclear in practice.
Methods: To better understand the code review process in OSS projects, we gathered the comments of code reviewers who specified where developers should fix code smells in two OSS projects, OpenStack and WikiMedia, between 2011 and 2015.
Results: Our findings indicate that most code reviewers do not pay much attention to code smells. Only a few code reviewers have attempted to motivate developers to improve their source code quality in general. The results also show that there is an increasing tendency to provide advice concerning code smells corrections over time.
Conclusion: We believe that this study's findings will encourage developers to use new software engineering practices, such as refactoring, to reduce code smells when developing OSS.
Graphical Abstract
[http://dx.doi.org/10.1109/MS.2007.2]
[http://dx.doi.org/10.1145/1082983.1083273]
[http://dx.doi.org/10.1109/ICSME.2016.87]
[http://dx.doi.org/10.1109/WCRE.2013.6671299]
[http://dx.doi.org/10.1109/WCRE.2013.6671287]
[http://dx.doi.org/10.1109/52.28121]
[http://dx.doi.org/10.1109/TSE.2004.1274044]
[http://dx.doi.org/10.1007/s10664-011-9171-y]
[http://dx.doi.org/10.1109/ESEM.2013.23]
[http://dx.doi.org/10.1145/2652524.2652544]
[http://dx.doi.org/10.1109/ICSME.2016.65]
[http://dx.doi.org/10.1145/2593702.2593705]
[http://dx.doi.org/10.1109/ICSM.2015.7332472]
[http://dx.doi.org/10.1145/2597073.2597082]
[http://dx.doi.org/10.1109/ICSE.2013.6606617]
[http://dx.doi.org/10.1109/TSE.2018.2880977]
[http://dx.doi.org/10.1109/ICSME.2014.49]
[http://dx.doi.org/10.1109/MSR.2015.21]
[http://dx.doi.org/10.1145/2950290.2950323]
[http://dx.doi.org/10.1587/transinf.2017KBP0006]
[http://dx.doi.org/10.1109/ICDIM.2013.6694005]
[http://dx.doi.org/10.1016/j.dss.2012.03.002]
[http://dx.doi.org/10.1109/IEEM.2009.5373367]
[http://dx.doi.org/10.1145/2975945.2975948]
[http://dx.doi.org/10.1007/s10515-011-0098-8]
[http://dx.doi.org/10.1109/TSE.2014.2331057]
[http://dx.doi.org/10.1109/ICPC.2011.22]
[http://dx.doi.org/10.1145/2932631]
[http://dx.doi.org/10.1109/ICSM.2012.6405292]
[http://dx.doi.org/10.1016/j.jss.2015.03.040]
vol. 29, no. 5, 2017.e1843. [http://dx.doi.org/10.1002/smr.1843]
[http://dx.doi.org/10.1145/2975945.2975947]
[http://dx.doi.org/10.1109/IWoR.2019.00017]
[http://dx.doi.org/10.1016/B978-0-12-411519-4.00006-9]
[http://dx.doi.org/10.1145/3372787.3390439]