The aDoctor Project
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 in studying and devising approaches for detecting the traditional code smells defined by Fowler, a little knowledge and support is available for an emerging category of Mobile app code smells. Specifically, Reimann et al. recently proposed a new catalogue of Android-specific code smells that may threat the maintainability and the efficiency of Android applications. Existing 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 as 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 reveal that the proposed tool is highly performant and reaches, on average, 98% of precision and 98% of recall. We made aDoctor publicly available.