demo driven research 2008-02-01
TRANSCRIPT
Demo-driven research
Tudor Gîrbawww.tudorgirba.com
2002 - 2005 : PhD student
2005 - 2009 : PostDoc
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
Lanza, Ducasse, 2002
Eick etal, 2002Lehman etal, 2001
Gall etal, 1998
versions
PulsarClass
IdleClass
White DwarfClass
SupernovaClass
Class
NOM
NOA
Evolution matrix reveals evolution patternsLanza, Ducasse, 2002
versions
PulsarClass
IdleClass
White DwarfClass
SupernovaClass
Class
NOM
NOA
Evolution matrix reveals evolution patternsLanza, Ducasse, 2002
We need to model evolution explicitly.
versions
History encapsulates evolution Girba, 2005
ClassHistory
isPulsarisIdle…
PulsarClass History
IdleClass History
White DwarfClass History
SupernovaClass History
SystemVersion
ClassVersion
ClassHistory
SystemHistory
SystemVersion
ClassVersion
ClassHistory
SystemHistory
SystemVersion
ClassVersion
ClassHistory
InheritanceVersion
SystemHistory
SystemVersion
ClassVersion
ClassHistory
InheritanceHistory
InheritanceVersion
SystemHistory
SystemVersion
ClassVersion
ClassHistory
Hismo models history as first class
History Version
History Version
VersionHistory
Girba, 2005
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
What is the process of research?
How do we know when we are
on the right track?
It’s not what you don’t know that kills you,it’s what you know that isn’t so.
Tom deMarco
The research process
should concentrate on feedback.
Why is it so difficult to get feedback?
The engine of research is the PhD student.
The PhD student must be distant enoughfrom anyone around him.
Real feedback comes from interested people.
Moose is a collaborative platform for software analysis.
moose.unibe.ch
}
{
}
{
}
{}
{
}
{
McCabe = 21
LOC =
753,0
00NOM = 102
Metrics Queries Visualizations ...
Repository Meta MondrianUIFAMIX Core
EyeSee
MSE
Repository Meta MondrianUI
Smalltalk
Java
C++
ExternalParser
FAMIX Core
EyeSee
MSE
Repository Meta MondrianUI
Smalltalk
Java
C++
ExternalParser
FAMIX Core
HapaxDynaMoose SoftwarenautChronia SmallDude
EyeSee
Cook CodeCity
MSE
Repository Meta MondrianUI
Smalltalk
Java
C++
ExternalParser
FAMIX Core
HapaxDynaMoose SoftwarenautChronia SmallDude
EyeSee
Cook
CVS
CodeCity
MSE SourceJ-Wiretap
MSE
Repository Meta MondrianUI
Smalltalk
Java
C++
ExternalParser
FAMIX Core
HapaxDynaMoose SoftwarenautChronia SmallDude
EyeSee
Cook
CVS
CodeCity
MSE SourceJ-Wiretap
YellowSubmarine
BugsLife ClusteringConceptAnalysis ...
used for research in several universities
~100 men years of effort
>100 publications
since 1997
moose.unibe.ch
Demo-driven research is about
getting people interested enoughto provide real feedback.
Have a model.1
Have a running model.1
Have a story. 2
Make the story fitthe model. 3
Make the model fitthe story. 4
Just demo! 5
Ask for permission.
Have the starting point ready.
Have a roadmap.
Slides
Slides are visual aids.
Slides are visual aids.
Slides are visual aids.
Mehrabian
model of
communication
7% Words
38% Voice
55% Body language
Just demo! 5
Listen. 6
Release.
Listen. 6
Have a running model.
Have a story.
Make your story fit the model.
Make your model fit the story.
Just demo!
Listen.
Not knowing how to do something is notan argument for how that something cannot be done.
Have a running model.
Have a story.
Make your story fit the model.
Make your model fit the story.
Just demo!
Listen.
Tudor Gîrbawww.tudorgirba.com
creativecommons.org/licenses/by/3.0/