Chasing Critical Code Smells with JSpIRIT
- J. Andres Díaz-Pace, Santiago Vidal, Claudia
with JSpIRIT J. Andres Daz-Pace, Santiago Vidal, Claudia Marcos, - - PowerPoint PPT Presentation
Chasing Critical Code Smells with JSpIRIT J. Andres Daz-Pace, Santiago Vidal, Claudia Marcos, & Alessandro Garca Email: adiaz@exa.unicen.edu.ar Agenda Code smells as symptoms of design problems Detection + Prioritization
SATURN 2016
2
Code Smell lls (or code anomalies)
[Fowler1999]
SATURN 2016
3
Symptoms in the source code that can indicate a (structural) problem
Code Smell lls (or code anomalies)
[Fowler1999]
SATURN 2016
4
Symptoms in the source code that can indicate a (structural) problem Intensive Coupling God Class
Smells with different granularity Not all tools always agree on their
[Lanza&Marinescu2016]
SATURN 2016
5
reported (including false positives)
particular smells contribute differently to the system goals or its health
SATURN 2016
6
Using archit hitect ectura ural l inform rmat atio ion to inform prioritization criteria 1.
ifiabili iability y scena nario rios 2.
hitect ctural ural concerns cerns 3.
hitect ctural ural compo ponent nents 4.
nge e history ry
[Vidal2014, Vidal 2015]
End-user (deve velop
Project source code 2) Selec ect criter erion
5) Browse top-ranked smells, refactor, etc. 1) Adjust metrics 3) Prov
de scen enarios
/concer cerns/compon
ents ts 4) Analyze ze rankin king of smells
SATURN 2016
7
http://tinyurl.com/j2qoypc
JSpIRI RIT Develop
than 1 hour to make and test the change, with no side-effect changes.
to other classes
SATURN 2016
8
effect
SATURN 2016
9
SATURN 2016
10
SATURN 2016
11
SATURN 2016
12
desktop, 372 classes, 523 smells)
884 smells, in progress)
problems judged by system experts
helps to discard smells in “stable/unchanged” classes (not covered here)
SATURN 2015
13
joint project with RSS Group, at Stuttgart University
joint project with Opus Group, at PUC-Rio University
SATURN 2016
14
SATURN 2016
15
svidal@exa.unicen.edu.ar
adiaz@exa.unicen.edu.ar
cmarcos@exa.unicen.edu.ar
afgarcia@inf.puc-rio.br