humane assessment with Moose Stphane Ducasse clearVue INRIA - - PowerPoint PPT Presentation

humane
SMART_READER_LITE
LIVE PREVIEW

humane assessment with Moose Stphane Ducasse clearVue INRIA - - PowerPoint PPT Presentation

humane assessment with Moose Stphane Ducasse clearVue INRIA Wednesday, August 24, 2011 moosetechnology.org Wednesday, August 24, 2011 humane-assesment.com Wednesday, August 24, 2011 Wednesday, August 24, 2011 Wednesday, August 24, 2011


slide-1
SLIDE 1

Stéphane Ducasse clearVue INRIA

assessment with Moose

humane

Wednesday, August 24, 2011
slide-2
SLIDE 2

moosetechnology.org

Wednesday, August 24, 2011
slide-3
SLIDE 3

humane-assesment.com

Wednesday, August 24, 2011
slide-4
SLIDE 4 Wednesday, August 24, 2011
slide-5
SLIDE 5 Wednesday, August 24, 2011
slide-6
SLIDE 6

feedback is key

Wednesday, August 24, 2011
slide-7
SLIDE 7

feedback is key

Wednesday, August 24, 2011
slide-8
SLIDE 8

feedback is key contextual continuous

Wednesday, August 24, 2011
slide-9
SLIDE 9

= complex, large

} { } { } { } { } {

Wednesday, August 24, 2011
slide-10
SLIDE 10

= 250’000 lines of code

Wednesday, August 24, 2011
slide-11
SLIDE 11

= 250’000 lines of code * 2 = 500’000 seconds

Wednesday, August 24, 2011
slide-12
SLIDE 12

= 250’000 lines of code * 2 = 500’000 seconds / 3600 ~ 140 hours

Wednesday, August 24, 2011
slide-13
SLIDE 13

= 250’000 lines of code * 2 = 500’000 seconds / 3600 ~ 140 hours / 8 ~ 18 days

Wednesday, August 24, 2011
slide-14
SLIDE 14

= 250’000 lines of code * 2 = 500’000 seconds / 3600 ~ 140 hours / 8 ~ 18 days / 20 ~ 1 month

Wednesday, August 24, 2011
slide-15
SLIDE 15

Maintenance is continuous Development

Between 50% and 80% of global effort is spent on “maintenance” !

18% Corrective (fixing reported errors) 18% Adaptive (new platforms) 60% Perfective (new functionality) 4% Other

80% 20% 60% 18% 18% 4%

“Maintenance”

Wednesday, August 24, 2011
slide-16
SLIDE 16

Software is like geranium... when dead, it does not bloom!

Wednesday, August 24, 2011
slide-17
SLIDE 17

Software is a living entity...

Early decisions were certainly good at that time But the context changes Customers change Technology changes People change

Wednesday, August 24, 2011
slide-18
SLIDE 18

forward engineering actual development

} { } { } { } {

} { } { } { } { } {

reverse engineering

Wednesday, August 24, 2011
slide-19
SLIDE 19 } { } { } { } { } {

reverse engineering

Wednesday, August 24, 2011
slide-20
SLIDE 20 } { } { } { } { } {

reverse engineering

Wednesday, August 24, 2011
slide-21
SLIDE 21 } { } { } { } { } {

reverse engineering

Wednesday, August 24, 2011
slide-22
SLIDE 22 } { } { } { } { } {

reverse engineering assessment

Wednesday, August 24, 2011
slide-23
SLIDE 23 } { } { } { } { } {

reverse engineering assessment

what is the current situation? what can we do about it?

Wednesday, August 24, 2011
slide-24
SLIDE 24

Current practices

Wednesday, August 24, 2011
slide-25
SLIDE 25

50% of maintenance is spent reading code!

Between 50% and 80% of global effort is spent on “maintenance” !

80% 20%

We spend a lot of money at the wrong place with the wrong tools!

40% 20% 40%

Wednesday, August 24, 2011
slide-26
SLIDE 26

Current practices

Wednesday, August 24, 2011
slide-27
SLIDE 27

tailored manual automatic generic

Wednesday, August 24, 2011
slide-28
SLIDE 28

tailored manual automatic generic

Wednesday, August 24, 2011
slide-29
SLIDE 29

We need dedicated tools to help us! We need customable tools to

control and give feedback

Wednesday, August 24, 2011
slide-30
SLIDE 30

hypothesize apply analysis interpret confident? act act

Wednesday, August 24, 2011
slide-31
SLIDE 31

hypothesize existing analysis? apply analysis interpret confident? act act

Wednesday, August 24, 2011
slide-32
SLIDE 32

hypothesize existing analysis? craft analysis apply analysis interpret confident? act act

Wednesday, August 24, 2011
slide-33
SLIDE 33

hypothesize existing analysis? craft analysis apply analysis interpret confident? act

Wednesday, August 24, 2011
slide-34
SLIDE 34

hypothesize existing analysis? craft analysis apply analysis interpret confident? act

assessment

humane

Wednesday, August 24, 2011
slide-35
SLIDE 35

An example: who is really behind that package?

(1) Extraction

(2) Modèle (4) Visualisation (3) Analyses

Wednesday, August 24, 2011
slide-36
SLIDE 36

(2) Define a model for code ownership

(1) Extraction

(2) Modèle (4) Visualisation (3) Analyses

Wednesday, August 24, 2011
slide-37
SLIDE 37

(3) Use adequate Map

Wednesday, August 24, 2011
slide-38
SLIDE 38

Distribution Map shows properties

  • ver structure

Ducasse et al 2006

(1) Extraction

(2) Modèle (4) Visualisation (3) Analyses Wednesday, August 24, 2011
slide-39
SLIDE 39

} { } { } { } { } {

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

...

Wednesday, August 24, 2011
slide-40
SLIDE 40

} { } { } { } { } {

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

...

Wednesday, August 24, 2011
slide-41
SLIDE 41

} { } { } { } { } {

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

...

Wednesday, August 24, 2011
slide-42
SLIDE 42

} { } { } { } { } {

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

...

Wednesday, August 24, 2011
slide-43
SLIDE 43 Wednesday, August 24, 2011
slide-44
SLIDE 44

} { } { } { } { } {

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

...

Wednesday, August 24, 2011
slide-45
SLIDE 45

} { } { } { } { } {

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

...

Wednesday, August 24, 2011
slide-46
SLIDE 46 Wednesday, August 24, 2011
slide-47
SLIDE 47

} { } { } { } { } {

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

...

Wednesday, August 24, 2011
slide-48
SLIDE 48

} { } { } { } { } {

...

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

Wednesday, August 24, 2011
slide-49
SLIDE 49

themoosebook.org

Wednesday, August 24, 2011
slide-50
SLIDE 50

} { } { } { } { } {

...

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

Wednesday, August 24, 2011
slide-51
SLIDE 51

What is this made of?

Wednesday, August 24, 2011
slide-52
SLIDE 52 Wednesday, August 24, 2011
slide-53
SLIDE 53

What is this made of?

Wednesday, August 24, 2011
slide-54
SLIDE 54

package 1 package 2 ... Class A Class B ... method M method N ... source code

Wednesday, August 24, 2011
slide-55
SLIDE 55 Wednesday, August 24, 2011
slide-56
SLIDE 56

} { } { } { } { } {

...

M c C a b e = 2 1 L O C = 7 5 3 , classes select: #isGod

Wednesday, August 24, 2011
slide-57
SLIDE 57 } { } { } { } { } {

reverse engineering assessment

what is the current situation? what can we do about it?

Wednesday, August 24, 2011
slide-58
SLIDE 58

Handling Moose 5 days to get up to speed 21 days to get proficient

Wednesday, August 24, 2011
slide-59
SLIDE 59

Software engineers that extended Moose Delphi/Java programmers customized models extended meta models defined specific rules Smalltalk programmers new tools to support code integration

Wednesday, August 24, 2011
slide-60
SLIDE 60

Moose supports Your definition of quality/risk Example (1) Getting bug maps (2) What info to collect? (3) How to present it?

Wednesday, August 24, 2011
slide-61
SLIDE 61

Moose gives you the opportunity to control your process.

Wednesday, August 24, 2011
slide-62
SLIDE 62 Wednesday, August 24, 2011
slide-63
SLIDE 63

identify concern

Wednesday, August 24, 2011
slide-64
SLIDE 64

identify concern create rule

Wednesday, August 24, 2011
slide-65
SLIDE 65

identify concern create rule discuss results

Wednesday, August 24, 2011
slide-66
SLIDE 66

identify concern agree? create rule discuss results

Wednesday, August 24, 2011
slide-67
SLIDE 67

identify concern agree? create rule discuss results

Wednesday, August 24, 2011
slide-68
SLIDE 68

identify concern agree? create rule discuss results small task?

Wednesday, August 24, 2011
slide-69
SLIDE 69

identify concern agree? create rule discuss results small task? solve now

Wednesday, August 24, 2011
slide-70
SLIDE 70

identify concern agree? create rule discuss results small task? solve now plan later

Wednesday, August 24, 2011
slide-71
SLIDE 71

identify concern agree? create rule discuss results small task? solve now plan later

assessment

daily

Wednesday, August 24, 2011
slide-72
SLIDE 72 Wednesday, August 24, 2011
slide-73
SLIDE 73 Wednesday, August 24, 2011
slide-74
SLIDE 74

continuous assessment

Wednesday, August 24, 2011
slide-75
SLIDE 75

feedback is key specific feedback is better

Wednesday, August 24, 2011
slide-76
SLIDE 76

assessment must be

tailored explicit trained humane

Wednesday, August 24, 2011
slide-77
SLIDE 77

Tudor Gîrba

www.tudorgirba.com creativecommons.org/licenses/by/3.0/

Stéphane Ducasse

stephane.ducasse.free.fr

Wednesday, August 24, 2011