How to do better experiments in SE

19
Q: HOW TO DO BETTER EXPERIMENTS IN SE? [email protected] WVU, SEPT 2013

Transcript of How to do better experiments in SE

Page 1: How to do better experiments in SE

Q: HOW TO DO BETTER EXPERIMENTS IN [email protected]

WVU, SEPT 2013

Page 2: How to do better experiments in SE

FROM TURKISH TOASTERS TO NASA SPACE SHIPS

2

Turhan, ESEj’09

Page 3: How to do better experiments in SE

Q: WHY IS THISAN URGENT QUESTION?

Page 4: How to do better experiments in SE

4

Page 5: How to do better experiments in SE

WHAT’S AT STAKE?

• “Transfer” is a core scientific issue

• Lack of transfer of causal effects is the scandal of SE

• Replication is Empirical SE is rare

• Conclusion instability• It all depends.

• The full stop syndrome

• The result?

• A funding crisis

5

Page 6: How to do better experiments in SE

THE BAD NEWS

Page 7: How to do better experiments in SE

7

WAR STORIES (DEFECT PREDICTION)

Menzies:TSE’13

Page 8: How to do better experiments in SE

MANUAL TRANSFER (WAR STORIES)

• Kitchenham, Mendes et al, TSE 2007: for = against

• Zimmermann FSE, 2009: cross works in 4/600 times

8

Page 9: How to do better experiments in SE

THE GOOD NEWS

Page 10: How to do better experiments in SE

BETWEEN TURKISH TOASTERS AND NASA SPACE SHIPS

10

Turhan, ESEj’09

Page 11: How to do better experiments in SE

Q: HOW TO TRANSFER LESSONS LEARNED?

Ignore most of the data

• relevancy filtering: Turhan ESEj’09; Peters TSE’13• variance filtering: Kocaguneli TSE’12,TSE’13• performance similarities: He ESEM’13

Contort the data

• spectral learning (working in PCA space or some other rotation) Menzies, TSE’13; Nam, ICSE’13

Buildi a bickering committee

• Ensembles Minku, PROMISE’12

11

Page 12: How to do better experiments in SE

BTW, SOMETIMES, TRANFER BETTER THAN LOCAL

12/1/2011

12

Minku:PROMISE’12 Nam:ICSE’13

Peters:TSE’13

Page 13: How to do better experiments in SE
Page 14: How to do better experiments in SE

THERE IS HOPE

• We’ve been looking in the wrong direction

• SE project data = surface features of an underlying effect• Go beneath the surface

14

Page 15: How to do better experiments in SE

REFLECT LESS ON RAW DIMENSIONS

12/1/2011

15

Page 16: How to do better experiments in SE

WHAT’S CHANGED?Mark of the old novice:

• Mostly manual analysis

• Obsesses on all the raw data

• Shares “the” model (the only, the single)

• E.g. “Depth of inheritanceis “the” most important predictor for defects.”

Mark of the new expert:

• Manual and automatic analysis• Combinations of Human + AI: • Each offering input and insights to the other

• Filters most of the data, transforms the rest• Shares analysis methods

• Cost effective methods for generating local lessons

12/1/2011

16

Most probably

wrong

Page 17: How to do better experiments in SE

NOT EXTERNAL VALIDITYBUT “META-EXTERNAL VALIDITY”

No pair programming, CMM5, agile programming, etc etc

But conclusion stability, generality

10/11/2013

17

Page 18: How to do better experiments in SE

With new data mining technologies, true picture emerges, where we can see what is going on

12/1/2011

18

SO THERE IS HOPE

Page 19: How to do better experiments in SE

19