Evaluating Usefulness of Software Metrics An Industrial Experience - - PowerPoint PPT Presentation

evaluating usefulness of software metrics an industrial
SMART_READER_LITE
LIVE PREVIEW

Evaluating Usefulness of Software Metrics An Industrial Experience - - PowerPoint PPT Presentation

Evaluating Usefulness of Software Metrics An Industrial Experience Report @EricBouwers @avandeursen @jstvssr Identify Define Validate attributes metrics metrics Validity versus Usefulness Does it measure What can we do what we want to


slide-1
SLIDE 1

Evaluating Usefulness of Software Metrics

An Industrial Experience Report

@EricBouwers @avandeursen @jstvssr

slide-2
SLIDE 2
slide-3
SLIDE 3

Identify attributes Define metrics Validate metrics

slide-4
SLIDE 4

Validity versus Usefulness

Does it measure what we want to measure? What can we do with the metric?

slide-5
SLIDE 5

When is a metric useful?

slide-6
SLIDE 6

A metric is considered useful if the metric:

… corresponds to the intuition

  • f the measurer

(Fenton et. al, Software Metrics: A Rigorous and Practical Approach, 1998)

… is actively used in a decision making process

(Gopal et. al, The impact of institutional forces on software metrics programs, 2005)

slide-7
SLIDE 7

A four step evaluation process Embed Analyze

Observe Interview Data Gathering

slide-8
SLIDE 8

Context:

Evaluating Implemented Architectures

slide-9
SLIDE 9

Subject metrics Component Balance

  • E. Bouwers, et.al. Quantifying the Analyzability of Software Architectures. WICSA 2011

0.0 0.2 0.3 0.8

slide-10
SLIDE 10

Subject metrics Component Independence

B C A 1 2 3 4

  • E. Bouwers, et.al. Dependency profiles for software architecture evaluations. ICSM 2011

Less = better

  • 1. Internal code
  • 2. Incoming code
  • 3. Outbound code
  • 4. Transit code
slide-11
SLIDE 11

Embedding The software measurement model

V

  • l

u m e D u p l i c a t i

  • n

U n i t s i z e U n i t c

  • m

p l e x i t y U n i t i n t e r f a c i n g M

  • d

u l e c

  • u

p l i n g C

  • m

p

  • n

e n t b a l a n c e C

  • m

p

  • n

e n t i n d e p e n d e n c e Analysability X X X X Modifiability X X X Testability X X X Modularity X X X Reusability X X

slide-12
SLIDE 12

Embedding A bechmark based approach 0.14 0.96 0.09 0.84

Threshold Score 0.9 HHHHH 0.8 HHHHI 0.5 HHHII 0.3 HHIII 0.1 HIIII

0.09 0.14 0.84 0.96

…. ….

0.34 HHIII

Note: example thresholds

sort

slide-13
SLIDE 13

Embedding Who, what, how?

http://www.freeiconsweb.com/

slide-14
SLIDE 14

Data gathering Memos and interviews

17 different consultants 49 memo’s 11 different customers/suppliers 30 minutes interviews with 11 consultants Open discussion: ‘How do you use ….’ Closed questions (1-5 scale):

  • How useful do you find the metric?
  • Does it make your job easier?
slide-15
SLIDE 15

Overall results from observations

Decision making Intuition Component Definition Application Implementation Targeted improvements Start of discussions Communication device Small systems Older technologies Influence of nr of components File-system versus mental model System Scope Subjectivity Model introduction Definition of actions Effect prediction Steering Context Effort prediction Component Balance Component Independence Linear Equation Volume metric Dependency types False positives Cross language dependencies

slide-16
SLIDE 16

Specific results Decision making

slide-17
SLIDE 17

Specific results Communication device

File-system Mental model Measurement

Chromatix Pulse pack - http://iconsforlife.com - Alessandro Rei Dark Glass

slide-18
SLIDE 18

Specific results

slide-19
SLIDE 19

Interviews Results of talking to 11 experts

0! 1! 2! 3! 4! 5! 1! 2! 3! 4! 5!

Frequency! Scores!

Not easy to use But useful

slide-20
SLIDE 20

Analyze

0! 1! 2! 3! 4! 5! 1! 2! 3! 4! 5!

Frequency! Scores!

slide-21
SLIDE 21

So are the metrics useful?

B C A 1 2 3 4

In the context of evaluating implemented architectures? YES!

slide-22
SLIDE 22

Is this evaluation useful?

Embed Observe Interview Analyze For industry? YES! For academia? YES!

slide-23
SLIDE 23

To summarize

Volume Duplication Unit size Unit complexity Unit interfacing Module coupling Component balance Component independence Analysability X X X X Modifiability X X X Testability X X X Modularity X X X Reusability X X

Decision making Intuition Component Definition Application Implementation Targeted improvements Start of discussions Communication device Small systems Older technologies Influence of nr of components File-system versus mental model System Scope Subjectivity Model introduction Definition of actions Effect prediction Steering Context Effort prediction Component Balance Component Independence Linear Equation Volume metric Dependency types False positives Cross language dependencies

0! 1! 2! 3! 4! 5! 1! 2! 3! 4! 5!

Frequency! Scores!

Usefulness