Lightweight detection of Android-specific code smells: The aDoctor project

Fabio Palomba, Dario Di Nucci, Annibale Panichella, Andy Zaidman, Andrea De Lucia

    Research output: Chapter in Book/Report/Conference proceedingConference contributionScientificpeer-review

    73 Citations (Scopus)


    Code smells are symptoms of poor design solutions applied by programmers during the development of software systems. While the research community devoted a lot of effort to studying and devising approaches for detecting the traditional code smells defined by Fowler, little knowledge and support is available for an emerging category of Mobile app code smells. Recently, Reimann et al. proposed a new catalogue of Android-specific code smells that may be a threat for the maintainability and the efficiency of Android applications. However, current tools working in the context of Mobile apps provide limited support and, more importantly, are not available for developers interested in monitoring the quality of their apps. To overcome these limitations, we propose a fully automated tool, coined ADOCTOR, able to identify 15 Android-specific code smells from the catalogue by Reimann et al. An empirical study conducted on the source code of 18 Android applications reveals that the proposed tool reaches, on average, 98% of precision and 98% of recall. We made ADOCTOR publicly available.
    Original languageEnglish
    Title of host publicationSANER 2017 - 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering
    Publication statusPublished - 2017


    Dive into the research topics of 'Lightweight detection of Android-specific code smells: The aDoctor project'. Together they form a unique fingerprint.

    Cite this