lightweight detection of android-specific code smells: the adoctor project

Post on 03-Mar-2017

104 Views

Category:

Engineering

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

ddinucci@unisa.it

http://www.sesa.unisa.it/people/ddinucci/

Thanks for your attention!

https://github.com/fpalomba/aDoctor

top related