postdoc symposium - abram hindle

39
Evidence-based Software Process Recovery: A Postdoctoral View Evidence-based Software Process Recovery: A Postdoctoral View Abram Hindle Department of Computing Science University of Alberta Edmonton, Alberta Canada http://softwareprocess.es/ [email protected] Abram Hindle 1

Upload: icsm-2011

Post on 13-Jan-2015

604 views

Category:

Technology


5 download

DESCRIPTION

Evidence-based Software Process Recovery: A Post-doctoral View

TRANSCRIPT

Page 1: Postdoc Symposium - Abram Hindle

Evidence-based Software Process Recovery: A Postdoctoral View

Evidence-based SoftwareProcess Recovery:

A Postdoctoral ViewAbram Hindle

Department of Computing ScienceUniversity of AlbertaEdmonton, Alberta

Canadahttp://softwareprocess.es/

[email protected]

Abram Hindle1

Page 2: Postdoc Symposium - Abram Hindle

Requirements

Business Modeling

Analysis & Design

Implementation

Test

Deployment

CM and SCS

Project Mangement

Environment

Theory Practice

What are we going to do?

?2

Page 3: Postdoc Symposium - Abram Hindle

3

Page 4: Postdoc Symposium - Abram Hindle

Managers

Employees assigned to a ISO9000

conformance project

Investors and Acquisitions

New Developers

Fixers orStar Programmers

Motivation: Stakeholders

4

Page 5: Postdoc Symposium - Abram Hindle

Work

flow

sProposed Process Recovered Process

Is my proposed process actually

being used?

5

Page 6: Postdoc Symposium - Abram Hindle

Work

flow

sProposed and Recovered

Process Overlayed

I can compareand contrast theobserved process

versus the expected process!

Differences betweenProposed and Recovered

6

Page 7: Postdoc Symposium - Abram Hindle

How to get an overview: Interviews

access

annoying

timeconsuming

DANGER

7

Page 8: Postdoc Symposium - Abram Hindle

Inception Elaboration Construction Transition

RequirementsBusiness Modeling

Analysis & DesignImplementationTestDeploymentCM and SCSProject MangementEnvironment

Initial Elab Elab Const Const Const Trans

PhasesDisciplines

Can't we justsummarize

what is goingon within this

project?

Source Code

Source Code

Documentation

Build / Configuration

Tests

RevisionsSoftware

Repositories

8

Page 9: Postdoc Symposium - Abram Hindle

Release Patterns:Source/Test/

Build/Documentation

Topic Analysis

Large Changes

Recovered UnifiedProcess Views

BehaviourIntent, Purpose

and Tasks

SoftwareDevelopment

Process

Research Relationships

9

Page 10: Postdoc Symposium - Abram Hindle

Source Code

Source Code

Documentation

Build / Configuration

Tests

Revisions

Mining Software Repositories

10

Page 11: Postdoc Symposium - Abram Hindle

Initial Repositories and artifacts

Source Acquisition

VersionControl

Revisionsdiscussions bugs source

11

Page 12: Postdoc Symposium - Abram Hindle

SOFTWAREPROCESSRECOVERY12

Page 13: Postdoc Symposium - Abram Hindle

Revisionsper TimeUnitsummedper timeunitbefore andafter arelease

-n time units +n time units0

Source Code Revisionsper Time Unit (day)SmoothedSummed Near Release

Test Revisionsper Time Unit (day)SmoothedSummed Near Release

Build Revisionsper Time Unit (day)SmoothedSummed Near Release

Documentation Revisionsper Time Unit (day)SmoothedSummed Near Release

ReleaseEvent

Linear Regression

Time

Release Patterns: STBD

[Hindle ICSM07]

Source

Test

Build

Documentation

13

Page 14: Postdoc Symposium - Abram Hindle

STBD applied to SQLite

SQLITE14

Page 15: Postdoc Symposium - Abram Hindle

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

ProportionofCom

mits

Corr

ectiv

e

Adapt

ive

Perfec

tive

Non

-

Sour

ce-

Code

Impl

e-

men

tatio

n

Maintenance Classes of Large Changes

[Hindle ICPC09]15

Page 16: Postdoc Symposium - Abram Hindle

Added a test for bug#1326 on OSX

What is this commit about?

16

Page 17: Postdoc Symposium - Abram Hindle

Added a test for bug#1326 on OSX

What is this commit about?

17

Page 18: Postdoc Symposium - Abram Hindle

Added a test for bug#1326 on OSX

What is this commit about?

ReliabilityMaintain-ability Portability

18

Page 19: Postdoc Symposium - Abram Hindle

But we have many commits..

ReliabilityMaintain-ability Portability

19

Page 20: Postdoc Symposium - Abram Hindle

VersionControl

VersionControl

VersionControl

VersionControl

portability

efficiency

maintainability

usability

reliability and functionality

(includes correctness)

SharedConcepts

Cross Project Relevance

20

Page 21: Postdoc Symposium - Abram Hindle

portability

maintainability

reliability and functionality

(includes correctness)

efficiency

Quality RelatedNon functional requirements

usability

[cleland-huang03][ernst10]21

Page 22: Postdoc Symposium - Abram Hindle

Portability Reliability

portabilitytransferability

interoperabilitydocumentation

internationalizationi18n...

reliabilityfailureerror

redundancyfailsbug...

Word BagExamples

22

Page 23: Postdoc Symposium - Abram Hindle

LDALSI

Commit

Developer Topic

Developer Topics

Developer Topic

Commit

Maintainability Reliability

purpose?

23

Page 24: Postdoc Symposium - Abram Hindle

Time (months)Un

iqu

e T

op

ics

Labelled Developer Topics

24

Page 25: Postdoc Symposium - Abram Hindle

Time (months)Un

iqu

e T

op

ics

Labelled Developer Topics

LinuxKernel

WindowsAMD64

25

Page 26: Postdoc Symposium - Abram Hindle

maintainabilityportability

reliability

efficiency

efficiency

functionality

functionality

maintainability portability

portabilityefficiency

Time (months)Un

iqu

e T

op

ics

Labelled Developer Topics

26

Page 27: Postdoc Symposium - Abram Hindle

MaxDB 7.500 Timeline

MaintainabilityPortability

MaintainabilityPortabilityReliabilityEffeciency

MaintainabilityEffeciency

[MSR 2011]27

Page 28: Postdoc Symposium - Abram Hindle

SOFTWAREPROCESSRECOVERY:INTEGRATION28

Page 29: Postdoc Symposium - Abram Hindle

Requirements

Business Modeling

Analysis & Design

Implementation

Test

Deployment

CM and SCS

Project Mangement

Environment

Theory Practice

Recovered Unified ProcessViews

[ICSM10]29

Page 30: Postdoc Symposium - Abram Hindle

=

UP Requirements Signal

+ +

30

Page 31: Postdoc Symposium - Abram Hindle

UP Implementation Signal

=

31

Page 32: Postdoc Symposium - Abram Hindle

UP Testing Signal

=

32

Page 33: Postdoc Symposium - Abram Hindle

SQLite Case Study

33

Page 34: Postdoc Symposium - Abram Hindle

SQLite Case Study: 2009

Business Modelling

Requirements

Analysis

Implementation

Testing

Deployment

Config/SCS

Project Management

Environment

34

Page 35: Postdoc Symposium - Abram Hindle

RequirementsBusiness Modeling

Analysis & Design

Project MangementEnvironment

Disciplines

?

UP Observability

? ?

35

Page 36: Postdoc Symposium - Abram Hindle

Future Work

Accuracy

?

?UnknownProject

MSR Benchmark

Validation

Peopleand

teams

Peopleand

teams

Industrial IterationIdentification

36

Page 37: Postdoc Symposium - Abram Hindle

Project

vocabulary

Project

vocabulary

sharedvocabulary

InternalProject

Language

ExternalProject

Language

Portability

Usability

ReliabilityEfficiency

Maintainability

Shared Terms

Common Threads

Idioms

Source Code

*.cSource Code

*.cpp

Source Code

*.t

*test*

*.Cunit tests

*.test

Test

Makefile

configure

Makefile.*

configure.*

build.xmlsetup.hs

setup.py

INSTALLREADME

TODO

*.txt

*.tex *.doxygen

AUTHORS

FILES

*.pl

Documentation

doc/

*.py

*.pl

*.pm

*.tcl

*.php

*.rb

*.java

*.sql

*.scm*.hs

*.lisp*.ml

37

Page 38: Postdoc Symposium - Abram Hindle

VersionControl

RevisionsDiscussions Bugs Source

[hindl

PortabilityUsability ReliabilityEfficiency

Maintainability

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

ProportionofCom

mits

Corr

ectiv

e

Adapt

ive

Perfec

tive

Non

-

Sour

ce-

Code

Impl

e-

men

tatio

n

Maintenance Classes

[Hindle ICPC09]

Build

Tests

Time

Release Patterns

[Hindle ICSM07]

Source

Test

Source

reliability

efficiency

functionalityfunctionality

maintainability portability

portabilityefficiency

[Hindle and Ernst http://softwareprocess.es/name/]

LDALSI

[Hindle09ICSM]

Developer Topic Analysisand Labelling

Documentation

RequirementsBusiness Modeling

Analysis & DesignImplementationTestDeploymentCM and SCSProject MangementEnvironment

Disciplines

Process Recovery SummaryS

oft

ware

Pro

cess

Recovery

Build

Documentation

Managers

ISO9000Consultants

Investors and Acquisitions

New Developers

Fixers orStar Programmers

38

Page 39: Postdoc Symposium - Abram Hindle

Lessons Learned

Collaborate!

BoringSlidesConferences!

Organization

A PhD is not enough

39