55
Demo-driven research Tudor Gîrba www.tudorgirba.com

Demo Driven Research 2008-02-01

Embed Size (px)

Citation preview

Page 1: Demo Driven Research 2008-02-01

Demo-driven research

Tudor Gîrbawww.tudorgirba.com

Page 2: Demo Driven Research 2008-02-01

2002 - 2005 : PhD student

2005 - 2009 : PostDoc

Page 3: Demo Driven Research 2008-02-01

to Understand Software Evolution

Modeling History

vorgelegt von

Tudor Gîrba

von Rumänien

Inauguraldissertation der Philosophisch-naturwissenschaftlichen

Fakultät der Universität Bern

Leiter der Arbeit:

Prof. Dr. Stéphane DucasseProf. Dr. Oscar Nierstrasz

Institut für Informatik und angewandte Mathematik

Page 4: Demo Driven Research 2008-02-01

Lanza, Ducasse, 2002

Eick etal, 2002Lehman etal, 2001

Gall etal, 1998

Page 5: Demo Driven Research 2008-02-01

versions

PulsarClass

IdleClass

White DwarfClass

SupernovaClass

Class

NOM

NOA

Evolution matrix reveals evolution patternsLanza, Ducasse, 2002

Page 6: Demo Driven Research 2008-02-01

versions

PulsarClass

IdleClass

White DwarfClass

SupernovaClass

Class

NOM

NOA

Evolution matrix reveals evolution patternsLanza, Ducasse, 2002

We need to model evolution explicitly.

Page 7: Demo Driven Research 2008-02-01

versions

History encapsulates evolution Girba, 2005

ClassHistory

isPulsarisIdle…

PulsarClass History

IdleClass History

White DwarfClass History

SupernovaClass History

Page 8: Demo Driven Research 2008-02-01

SystemVersion

ClassVersion

ClassHistory

Page 9: Demo Driven Research 2008-02-01

SystemHistory

SystemVersion

ClassVersion

ClassHistory

Page 10: Demo Driven Research 2008-02-01

SystemHistory

SystemVersion

ClassVersion

ClassHistory

Page 11: Demo Driven Research 2008-02-01

InheritanceVersion

SystemHistory

SystemVersion

ClassVersion

ClassHistory

Page 12: Demo Driven Research 2008-02-01

InheritanceHistory

InheritanceVersion

SystemHistory

SystemVersion

ClassVersion

ClassHistory

Page 13: Demo Driven Research 2008-02-01

Hismo models history as first class

History Version

History Version

VersionHistory

Girba, 2005

Page 14: Demo Driven Research 2008-02-01

to Understand Software Evolution

Modeling History

vorgelegt von

Tudor Gîrba

von Rumänien

Inauguraldissertation der Philosophisch-naturwissenschaftlichen

Fakultät der Universität Bern

Leiter der Arbeit:

Prof. Dr. Stéphane DucasseProf. Dr. Oscar Nierstrasz

Institut für Informatik und angewandte Mathematik

Page 15: Demo Driven Research 2008-02-01

What is the process of research?

Page 16: Demo Driven Research 2008-02-01

How do we know when we are

on the right track?

Page 17: Demo Driven Research 2008-02-01

It’s not what you don’t know that kills you,it’s what you know that isn’t so.

Tom deMarco

Page 18: Demo Driven Research 2008-02-01

The research process

should concentrate on feedback.

Page 19: Demo Driven Research 2008-02-01

Why is it so difficult to get feedback?

Page 20: Demo Driven Research 2008-02-01

The engine of research is the PhD student.

Page 21: Demo Driven Research 2008-02-01

The PhD student must be distant enoughfrom anyone around him.

Page 22: Demo Driven Research 2008-02-01

Real feedback comes from interested people.

Page 23: Demo Driven Research 2008-02-01

Moose is a collaborative platform for software analysis.

moose.unibe.ch

Page 24: Demo Driven Research 2008-02-01

}

{

}

{

}

{}

{

}

{

McCabe = 21

LOC =

753,0

00NOM = 102

Metrics Queries Visualizations ...

Page 25: Demo Driven Research 2008-02-01

Repository Meta MondrianUIFAMIX Core

EyeSee

Page 26: Demo Driven Research 2008-02-01

MSE

Repository Meta MondrianUI

Smalltalk

Java

C++

ExternalParser

FAMIX Core

EyeSee

Page 27: Demo Driven Research 2008-02-01

MSE

Repository Meta MondrianUI

Smalltalk

Java

C++

ExternalParser

FAMIX Core

HapaxDynaMoose SoftwarenautChronia SmallDude

EyeSee

Cook CodeCity

Page 28: Demo Driven Research 2008-02-01

MSE

Repository Meta MondrianUI

Smalltalk

Java

C++

ExternalParser

FAMIX Core

HapaxDynaMoose SoftwarenautChronia SmallDude

EyeSee

Cook

CVS

CodeCity

MSE SourceJ-Wiretap

Page 29: Demo Driven Research 2008-02-01

MSE

Repository Meta MondrianUI

Smalltalk

Java

C++

ExternalParser

FAMIX Core

HapaxDynaMoose SoftwarenautChronia SmallDude

EyeSee

Cook

CVS

CodeCity

MSE SourceJ-Wiretap

YellowSubmarine

BugsLife ClusteringConceptAnalysis ...

Page 30: Demo Driven Research 2008-02-01

used for research in several universities

~100 men years of effort

>100 publications

since 1997

moose.unibe.ch

Page 31: Demo Driven Research 2008-02-01

Demo-driven research is about

getting people interested enoughto provide real feedback.

Page 32: Demo Driven Research 2008-02-01

Have a model.1

Page 33: Demo Driven Research 2008-02-01

Have a running model.1

Page 34: Demo Driven Research 2008-02-01

Have a story. 2

Page 35: Demo Driven Research 2008-02-01

Make the story fitthe model. 3

Page 36: Demo Driven Research 2008-02-01

Make the model fitthe story. 4

Page 37: Demo Driven Research 2008-02-01

Just demo! 5

Page 38: Demo Driven Research 2008-02-01

Ask for permission.

Page 39: Demo Driven Research 2008-02-01

Have the starting point ready.

Page 40: Demo Driven Research 2008-02-01

Have a roadmap.

Page 41: Demo Driven Research 2008-02-01

Slides

Page 42: Demo Driven Research 2008-02-01

Slides are visual aids.

Page 43: Demo Driven Research 2008-02-01

Slides are visual aids.

Page 44: Demo Driven Research 2008-02-01

Slides are visual aids.

Page 45: Demo Driven Research 2008-02-01
Page 46: Demo Driven Research 2008-02-01
Page 47: Demo Driven Research 2008-02-01

Mehrabian

model of

communication

7% Words

38% Voice

55% Body language

Page 48: Demo Driven Research 2008-02-01

Just demo! 5

Page 49: Demo Driven Research 2008-02-01

Listen. 6

Page 50: Demo Driven Research 2008-02-01

Release.

Page 51: Demo Driven Research 2008-02-01

Listen. 6

Page 52: Demo Driven Research 2008-02-01

Have a running model.

Have a story.

Make your story fit the model.

Make your model fit the story.

Just demo!

Listen.

Page 53: Demo Driven Research 2008-02-01

Not knowing how to do something is notan argument for how that something cannot be done.

Page 54: Demo Driven Research 2008-02-01

Have a running model.

Have a story.

Make your story fit the model.

Make your model fit the story.

Just demo!

Listen.