Lightweight Detection of Android-specific Code Smells: the aDoctor Project
-
Upload
dario-di-nucci -
Category
Engineering
-
view
106 -
download
1
Transcript of Lightweight Detection of Android-specific Code Smells: the aDoctor Project
Lightweight Detection of Android-specific Code Smells:
the aDoctor Project
Andrea De LuciaAnnibale Panichella
Dario Di NucciFabio Palomba
Andy Zaidman
Bad Smells have been defined as symptoms of poor design or implementation choices.
Bad Smells hinder code comprehensibility
[Abbes et al. CSMR 2011]
[Khomh et al. EMSE 2012]
Bad Smells increasechange and fault proneness
Number of smartphone users worldwide from 2014 to 2020(in billions)
The statistics portal association.
Android-specific Code Smells
A set of bad programming practices ofAndroid developers.
Involve non-functional attributes of mobile apps.
Reimann et al. A tool-supported quality smell catalogue for android developers.2014. Modellierung 2014.
Security
Source Code Quality Performance
Data Integrity
An example: Data Transmission Without Compression
File sending without compression.
aDoctor
AnDrOid Code smell detecTOR
https://github.com/fpalomba/aDoctor
aDoctorAnDrOid Code smell detecTOR
15 Android Specific Code Smells
Executable via Terminal or GUI.
Data Export in CSV.
Released under MIT License.
Evaluation
What are the precision and recall scoresof aDoctor in detecting Android-specific code
smells?
18 apps
RQ
2 Students Manually Validated 1,927 Instances
98% of F-Measure98% of Precision
98% of Recall
100% of F-Measureon 13 smells
Future Works
Integrate aDoctor inAndroid Studio
Future Works
Extract and Automate Refactorings
Integrate aDoctor inAndroid Studio
Dario Di Nucci
University of Salerno
http://www.sesa.unisa.it/people/ddinucci/
Thanks for your attention!
https://github.com/fpalomba/aDoctor