evaluating key statements analysis

18
SCAM’08 -- Evaluating Key Statements Analysis Zheng Li Evaluating Key Statements Evaluating Key Statements Analysis Analysis David Binkley - Loyola College, USA Nicolas Gold, Mark Harman, Zheng Li, Kiarash Mahdavi CREST, King’s College London, UK

Upload: betrys

Post on 12-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Evaluating Key Statements Analysis. David Binkley - Loyola College, USA Nicolas Gold, Mark Harman, Zheng Li , Kiarash Mahdavi CREST, King’s College London, UK. Overview. KSA Two metrics Impact Cohesion Research Questions Empirical study Results. Key Statement Analysis (KSA). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Evaluating Key Statements AnalysisEvaluating Key Statements Analysis

David Binkley - Loyola College, USA

Nicolas Gold, Mark Harman, Zheng Li, Kiarash Mahdavi

CREST, King’s College London, UK

Page 2: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Overview

• KSA

• Two metrics– Impact– Cohesion

• Research Questions

• Empirical study

• Results

Page 3: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Key Statement Analysis (KSA)

• Identify key statements

• The statements that capture most impact with highest cohesion

Page 4: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Why KSA

Many analyses produce far too much e.g. slicing, chopping

Page 5: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Framework

Modules

Functions ClassesConcept bindings

Principal Variables Key Statements

Page 6: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Principal Variables (PV)

Bieman and Ott’s Principal Variables

• PVG – a global variable assigned in F

• PVO – a variable used in an output statement in F

• PVG U PVO

Page 7: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

void cylinder(int r, h){

D=2*r;perimeter=PI*D;undersurface=PI*r*r;sidesurface=perimeter*h;area=2*undersurface+sidesurface;volume=undersurface*h;printf(“\nThe Area is %d\n", );printf(“\nThe Volume is %d\n", );

}

r

h

areavolume

Page 8: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Metrics for KSA

• Impact: outward influence of the key statements

• Cohesion: inward connectedness of the key statements

Page 9: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Cohesion

Page 10: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Dependence Cluster

Page 11: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

The worst case for KSA

If all statements in a module are in a dependence cluster…

Page 12: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Research Questions

• Size

• Impact

• Cohesion

• Large dependence cluster

Page 13: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Analysis Subjects

Page 14: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Tools

• CodeSurfer

• SPSS

Page 15: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Impact

Page 16: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Cohesion

Page 17: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

Results

• Size– 25% of the function size

• Impact– 70% of impact of the function.

• Cohesion– More than 80% of cohesion

• Large Dependence Cluster– a clear and largely negative impact

Page 18: Evaluating Key Statements Analysis

SCAM’08 -- Evaluating Key Statements Analysis Zheng Li

less is more less is more