ABSTRACT
Code smells are program structures that often indicate software design problems. Their efficient identification is required in order to ensure software longevity. However, the identification of code smells often cannot be performed in isolation by a single developer. This task might require the knowledge of various program parts, which are better understood by different developers. However, there is little guidance to support software teams on efficient identification of code smells. In this research, we investigate how to improve efficiency on the collaborative identification of code smells. Our investigation is based on a set of controlled experiments conducted with more than 58 novice and professional developers. Our preliminary results suggest the use of collaborative practices significantly increases the efficiency of code smell identification. We also compiled a set of guidelines and heuristics to support an effective collaborative strategy for code smell identification.
- Begel, A. and Nagappan, N. Pair Programming: What's in it for Me? In. Proc. of ESEM, 2008, 120--128. Google ScholarDigital Library
- Bryton, S. et. al. Reducing Subjectivity in Code Smells Detection: Experimenting with the Long Method. In. Proc. of QUATIC, 2010, 337--342. Google ScholarDigital Library
- Estacio, B. et al. Evaluating Collaborative Practices in Acquiring Programming Skills: Findings of a Controlled Experiment. In Proc. of SBES, 2015. Google ScholarDigital Library
- Ferreira, M. et al. Detecting Architecturally-Relevant Code Smells: a Case Study of Effectiveness and Effort. In Proc. of SAC, 2014, 1158--1163. Google ScholarDigital Library
- Fowler, M. et al. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 1999. Google ScholarDigital Library
- Wu, Z., ColFinder: Collaborative Concurrency Bug Detection. In. Proc. of QSIC, 2013, 208--211. Google ScholarDigital Library
- Oliveira, R. et. al. Eficácia de Pares na Identificação de Anomalias de Código: um Experimento Controlado. In. Proc. of SBES, 2014, 53--66.Google Scholar
- Oliveira, R., et. al, Identifying Code Smells with Collaborative Practices - When More Heads are Better than One? In. ICPC (Submitted), 2016.Google Scholar
- Oliveira, R. Open-Archives. In. http://www.inf.pucrio.br/~rfelicio/index.html. (Jan. 2014).Google Scholar
- Macia, I. et al. On the Relevance of Code smells for Identifying Architecture Degradation Symptoms. In Proc. of CSMR, 2012a, 277--286. Google ScholarDigital Library
- Muller, S. et. al. An Approach for Collaborative Code Reviews Using Multi-Touch Technology. In. Proc. of CHASE, 2012, 93--99. Google ScholarDigital Library
- Nosek, J. The Case for Collaborative Programming. In. Commun. ACM, 41, 3, 1998, 105--108. Google ScholarDigital Library
- Zhao, M. and Hoek, A. A Brief Perspective on Microtask Crowdsourcing Workflows for Interface Design. In. Proc. of CSI-SE, 2015, 45--46. Google ScholarDigital Library
Recommendations
Are architectural smells independent from code smells? An empirical study
Highlights- Case study analyzing the correlations among code smells, groups of code smells and architectural smells.
AbstractBackground. Architectural smells and code smells are symptoms of bad code or design that can cause different quality problems, such as faults, technical debt, or difficulties with maintenance and evolution. Some studies ...
An interactive ambient visualization for code smells
SOFTVIS '10: Proceedings of the 5th international symposium on Software visualizationCode smells are characteristics of software that indicate that code may have a design problem. Code smells have been proposed as a way for programmers to recognize the need for restructuring their software. Because code smells can go unnoticed while ...
On the Prevalence, Impact, and Evolution of SQL Code Smells in Data-Intensive Systems
MSR '20: Proceedings of the 17th International Conference on Mining Software RepositoriesCode smells indicate software design problems that harm software quality. Data-intensive systems that frequently access databases often suffer from SQL code smells besides the traditional smells. While there have been extensive studies on traditional ...
Comments