Lightweight Detection of Android-specific Code Smells: The aDoctor Project

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

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

54 Citations (Scopus)
268 Downloads (Pure)


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 isavailable for an emerging category of Mobile app code smells. Recently, Reimann et al. proposed a new catalogue of Androidspecific 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 conductedon 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 publicationProceedings - 24th International Conference on Software Analysis, Evolution and Reengineering, SANER 2017
EditorsMartin Pinzger, Gabriele Bavota, Andrian Marcus
Place of PublicationPiscataway, NJ
Number of pages5
ISBN (Electronic)978-1-5090-5501-2
Publication statusPublished - 2017
EventSANER 2017: 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering - Klagenfurt, Austria
Duration: 21 Feb 201724 Feb 2017


ConferenceSANER 2017


  • Android-specific Code Smells
  • Detection Tool
  • Empirical Study


Dive into the research topics of 'Lightweight Detection of Android-specific Code Smells: The aDoctor Project'. Together they form a unique fingerprint.

Cite this