Holistic software assessment at the University of Zurich

Preview:

DESCRIPTION

I used this set of slides to argue for the creation of a new domain around software assessment.

Citation preview

holisticsoftwareassessment

www.tudorgirba.com

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

Recommended