skip to main content
10.1145/2889160.2889272acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

When more heads are better than one?: understanding and improving collaborative identification of code smells

Authors Info & Claims
Published:14 May 2016Publication History

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.

References

  1. Begel, A. and Nagappan, N. Pair Programming: What's in it for Me? In. Proc. of ESEM, 2008, 120--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bryton, S. et. al. Reducing Subjectivity in Code Smells Detection: Experimenting with the Long Method. In. Proc. of QUATIC, 2010, 337--342. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Estacio, B. et al. Evaluating Collaborative Practices in Acquiring Programming Skills: Findings of a Controlled Experiment. In Proc. of SBES, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Ferreira, M. et al. Detecting Architecturally-Relevant Code Smells: a Case Study of Effectiveness and Effort. In Proc. of SAC, 2014, 1158--1163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Fowler, M. et al. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Wu, Z., ColFinder: Collaborative Concurrency Bug Detection. In. Proc. of QSIC, 2013, 208--211. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. Oliveira, R., et. al, Identifying Code Smells with Collaborative Practices - When More Heads are Better than One? In. ICPC (Submitted), 2016.Google ScholarGoogle Scholar
  9. Oliveira, R. Open-Archives. In. http://www.inf.pucrio.br/~rfelicio/index.html. (Jan. 2014).Google ScholarGoogle Scholar
  10. Macia, I. et al. On the Relevance of Code smells for Identifying Architecture Degradation Symptoms. In Proc. of CSMR, 2012a, 277--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Muller, S. et. al. An Approach for Collaborative Code Reviews Using Multi-Touch Technology. In. Proc. of CHASE, 2012, 93--99. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Nosek, J. The Case for Collaborative Programming. In. Commun. ACM, 41, 3, 1998, 105--108. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Zhao, M. and Hoek, A. A Brief Perspective on Microtask Crowdsourcing Workflows for Interface Design. In. Proc. of CSI-SE, 2015, 45--46. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Conferences
    ICSE '16: Proceedings of the 38th International Conference on Software Engineering Companion
    May 2016
    946 pages
    ISBN:9781450342056
    DOI:10.1145/2889160

    Copyright © 2016 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 14 May 2016

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    Overall Acceptance Rate276of1,856submissions,15%

    Upcoming Conference

    ICSE 2025

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader