54
holistic software assessment www.tudorgirba.com

Holistic software assessment at the University of Zurich

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Holistic software assessment at the University of Zurich

holisticsoftwareassessment

www.tudorgirba.com

Page 2: Holistic software assessment at the University of Zurich

assessment is the process of understanding a given situationto support decision making

Page 3: Holistic software assessment at the University of Zurich

hypothesize applyanalysis

interpretconfident?

act

Page 4: Holistic software assessment at the University of Zurich

development

Page 5: Holistic software assessment at the University of Zurich

Basili - 1997, Ko etal - 2005

assessmentdevelopment

Page 6: Holistic software assessment at the University of Zurich
Page 7: Holistic software assessment at the University of Zurich
Page 8: Holistic software assessment at the University of Zurich

assessmentdevelopment

Page 9: Holistic software assessment at the University of Zurich

holisticsoftwareassessment

Page 10: Holistic software assessment at the University of Zurich

explicit

holisticsoftwareassessment

Page 11: Holistic software assessment at the University of Zurich

integrated

explicit

holisticsoftwareassessment

Page 12: Holistic software assessment at the University of Zurich

integrated

explicit

tailored

holisticsoftwareassessment

Page 13: Holistic software assessment at the University of Zurich

integrated

explicit

reshaped

tailored

holisticsoftwareassessment

Page 14: Holistic software assessment at the University of Zurich

integrated

explicit

reshaped

tailored

holisticsoftwareassessment

Page 15: Holistic software assessment at the University of Zurich

forward engineering

}

{

}

{

}

{

}

{

Page 16: Holistic software assessment at the University of Zurich

forward engineering

actual development}

{

}

{

}

{

}

{}

{

}

{

}

{}

{

}

{

Page 17: Holistic software assessment at the University of Zurich

Chikofsky Cross - 1990

forward engineering

actual development}

{

}

{

}

{

}

{}

{

}

{

}

{}

{

}

{

reve

rse

engi

neer

ing

Page 18: Holistic software assessment at the University of Zurich

}

{

}

{

}

{}

{

}

{

reve

rse

eng

inee

ring

Page 19: Holistic software assessment at the University of Zurich

}

{

}

{

}

{}

{

}

{

reve

rse

eng

inee

ring

Page 20: Holistic software assessment at the University of Zurich

}

{

}

{

}

{}

{

}

{

reve

rse

eng

inee

ring

assessment

Page 21: Holistic software assessment at the University of Zurich
Page 22: Holistic software assessment at the University of Zurich

tailoredmanual automatic

generic

Page 23: Holistic software assessment at the University of Zurich

tailoredmanual automatic

generic

Page 24: Holistic software assessment at the University of Zurich

tailoredmanual automatic

generic

Page 25: Holistic software assessment at the University of Zurich

integrated

explicit

reshaped

tailored

holisticsoftwareassessment

Page 26: Holistic software assessment at the University of Zurich

hypothesize applyanalysis

interpretconfident?

act

Page 27: Holistic software assessment at the University of Zurich

hypothesizeexistinganalysis?

applyanalysis

interpretconfident?

act

Page 28: Holistic software assessment at the University of Zurich

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

act

Page 29: Holistic software assessment at the University of Zurich

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

act

Page 30: Holistic software assessment at the University of Zurich

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

Page 31: Holistic software assessment at the University of Zurich

Girba - case study - 2010

Page 32: Holistic software assessment at the University of Zurich

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

act

Page 33: Holistic software assessment at the University of Zurich

Girba - case study 2011

Page 34: Holistic software assessment at the University of Zurich

Girba - case study 2011

Page 35: Holistic software assessment at the University of Zurich

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

act

Page 36: Holistic software assessment at the University of Zurich

Girba - case study 2010

Page 37: Holistic software assessment at the University of Zurich

Girba - case study 2010

Page 38: Holistic software assessment at the University of Zurich

Girba - case study 2010

Page 39: Holistic software assessment at the University of Zurich

hypothesizeexistinganalysis?

craftanalysis

applyanalysis

interpretconfident?

act

Page 40: Holistic software assessment at the University of Zurich
Page 41: Holistic software assessment at the University of Zurich

Meyer Girba Lungu - Softvis 2006

view shape rectangle width: #numberOfX; height: #numberOfY.view nodes: modules.view edges: modules fromAll: #dependencies

to: #yourself.view dominanceLayout.

Page 42: Holistic software assessment at the University of Zurich
Page 43: Holistic software assessment at the University of Zurich

Girba Bunge etal - work in progress

Page 44: Holistic software assessment at the University of Zurich
Page 45: Holistic software assessment at the University of Zurich

integrated

explicit

reshaped

tailored

holisticsoftwareassessment

Page 46: Holistic software assessment at the University of Zurich

integrated

explicit

reshaped

tailored

holisticsoftwareassessment

Page 47: Holistic software assessment at the University of Zurich
Page 48: Holistic software assessment at the University of Zurich

Kuhn Girba Ducasse - WCRE 2005

Page 49: Holistic software assessment at the University of Zurich

Kuhn Ducasse Girba - IST 2007

data collection

data mining

clustering visualization

Page 50: Holistic software assessment at the University of Zurich

Kuhn Ducasse Girba - IST 2007

data collection

data mining

clustering visualization

visualization

Page 51: Holistic software assessment at the University of Zurich

Lungu Lanza Girba Heeck - WCRE 2007

Page 52: Holistic software assessment at the University of Zurich
Page 53: Holistic software assessment at the University of Zurich

integrated

explicit

reshaped

tailored

holisticsoftwareassessment

www.tudorgirba.com