Upload
tudor-girba
View
936
Download
0
Tags:
Embed Size (px)
DESCRIPTION
I used this set of slides to argue for the creation of a new domain around software assessment.
Citation preview
assessment is the process of understanding a given situationto support decision making
hypothesize applyanalysis
interpretconfident?
act
development
Basili - 1997, Ko etal - 2005
assessmentdevelopment
assessmentdevelopment
holisticsoftwareassessment
explicit
holisticsoftwareassessment
integrated
explicit
holisticsoftwareassessment
integrated
explicit
tailored
holisticsoftwareassessment
integrated
explicit
reshaped
tailored
holisticsoftwareassessment
integrated
explicit
reshaped
tailored
holisticsoftwareassessment
forward engineering
}
{
}
{
}
{
}
{
forward engineering
actual development}
{
}
{
}
{
}
{}
{
}
{
}
{}
{
}
{
Chikofsky Cross - 1990
forward engineering
actual development}
{
}
{
}
{
}
{}
{
}
{
}
{}
{
}
{
reve
rse
engi
neer
ing
}
{
}
{
}
{}
{
}
{
reve
rse
eng
inee
ring
}
{
}
{
}
{}
{
}
{
reve
rse
eng
inee
ring
}
{
}
{
}
{}
{
}
{
reve
rse
eng
inee
ring
assessment
tailoredmanual automatic
generic
tailoredmanual automatic
generic
tailoredmanual automatic
generic
integrated
explicit
reshaped
tailored
holisticsoftwareassessment
hypothesize applyanalysis
interpretconfident?
act
hypothesizeexistinganalysis?
applyanalysis
interpretconfident?
act
hypothesizeexistinganalysis?
craftanalysis
applyanalysis
interpretconfident?
act
hypothesizeexistinganalysis?
craftanalysis
applyanalysis
interpretconfident?
act
12 L. Renggli, S. Ducasse, T. Gı̂rba, O. Nierstrasz
1
2
3
4
Lint
Slime
14 000
16 000
18 000
LOC
Seaside2.6
Seaside2.7
Seaside2.8
Seaside2.8.1
Seaside2.8.2
Seaside2.8.3
Seaside2.9a1
Seaside2.9a2
Seaside2.9a3
Fig. 4. Average number of Lint and Slime issues per class (above) and lines ofcode (below) in released Seaside versions.
guiding development by the Slime rules significantly improved the quality of thedomain-specific code. This particular period shows the value in domain-specificprogram checking. While the Seaside code base grew significantly, the number ofSlime rules could be reduced to almost zero.
Feedback we got from early adopters of Seaside 2.9 confirms that the quality ofthe code is notably better. Especially the portability between different Smalltalkdialects has improved. The code typically compiles and passes the tests on allplatforms even-though it comes from the shared code repository.
An interesting observation is that even if the Slime smells are reduced andthe quality of the code improves, the standard Lint rules continue to report arather constant proportion of problems. This is due to the fact that the genericLint rules address the wrong level and produce too many false positives.
We further evaluated the number of false positives of the remaining openissues in the last analyzed version of Seaside by manually verifying the reportedissues: this is 67% (940 false positives out of 1403 issues reported) in the case ofLint, and 24% (12 false positives out of 51 issues reported) in the case of Slime.This demonstrates, that applying dedicated rules provides a better report on thequality of the software than when using the generic rules.
Due to the dynamic nature of Smalltalk and its lack of static type informationit seems to be hard to further improve the quality of Slime rules. We howeverdo see potential in future work to reduce the number of false positives by usingstatic [PMW09] and dynamic [DGN07] type analysis.
2.6 2.7 2.8 2.8.1 2.8.2 2.8.3 2.9.1 2.9.2 2.9.3
1
2
3
4
14’000
16’000
18’000
lines of code
dedicated detection
generic detection
Renggli Ducasse Girba Nierstrasz - TOOLS 2010
Girba - case study - 2010
hypothesizeexistinganalysis?
craftanalysis
applyanalysis
interpretconfident?
act
Girba - case study 2011
Girba - case study 2011
hypothesizeexistinganalysis?
craftanalysis
applyanalysis
interpretconfident?
act
Girba - case study 2010
Girba - case study 2010
Girba - case study 2010
hypothesizeexistinganalysis?
craftanalysis
applyanalysis
interpretconfident?
act
Meyer Girba Lungu - Softvis 2006
view shape rectangle width: #numberOfX; height: #numberOfY.view nodes: modules.view edges: modules fromAll: #dependencies
to: #yourself.view dominanceLayout.
Girba Bunge etal - work in progress
integrated
explicit
reshaped
tailored
holisticsoftwareassessment
integrated
explicit
reshaped
tailored
holisticsoftwareassessment
Kuhn Girba Ducasse - WCRE 2005
Kuhn Ducasse Girba - IST 2007
data collection
data mining
clustering visualization
Kuhn Ducasse Girba - IST 2007
data collection
data mining
clustering visualization
visualization
Lungu Lanza Girba Heeck - WCRE 2007
integrated
explicit
reshaped
tailored
holisticsoftwareassessment
www.tudorgirba.com
Tudor Gîrbawww.tudorgirba.com
creativecommons.org/licenses/by/3.0/