postdoc symposium - abram hindle
DESCRIPTION
Evidence-based Software Process Recovery: A Post-doctoral ViewTRANSCRIPT
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/
Abram Hindle1
Requirements
Business Modeling
Analysis & Design
Implementation
Test
Deployment
CM and SCS
Project Mangement
Environment
Theory Practice
What are we going to do?
?2
3
Managers
Employees assigned to a ISO9000
conformance project
Investors and Acquisitions
New Developers
Fixers orStar Programmers
Motivation: Stakeholders
4
Work
flow
sProposed Process Recovered Process
Is my proposed process actually
being used?
5
Work
flow
sProposed and Recovered
Process Overlayed
I can compareand contrast theobserved process
versus the expected process!
Differences betweenProposed and Recovered
6
How to get an overview: Interviews
access
annoying
timeconsuming
DANGER
7
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
Release Patterns:Source/Test/
Build/Documentation
Topic Analysis
Large Changes
Recovered UnifiedProcess Views
BehaviourIntent, Purpose
and Tasks
SoftwareDevelopment
Process
Research Relationships
9
Source Code
Source Code
Documentation
Build / Configuration
Tests
Revisions
Mining Software Repositories
10
Initial Repositories and artifacts
Source Acquisition
VersionControl
Revisionsdiscussions bugs source
11
SOFTWAREPROCESSRECOVERY12
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
STBD applied to SQLite
SQLITE14
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
Added a test for bug#1326 on OSX
What is this commit about?
16
Added a test for bug#1326 on OSX
What is this commit about?
17
Added a test for bug#1326 on OSX
What is this commit about?
ReliabilityMaintain-ability Portability
18
But we have many commits..
ReliabilityMaintain-ability Portability
19
VersionControl
VersionControl
VersionControl
VersionControl
portability
efficiency
maintainability
usability
reliability and functionality
(includes correctness)
SharedConcepts
Cross Project Relevance
20
portability
maintainability
reliability and functionality
(includes correctness)
efficiency
Quality RelatedNon functional requirements
usability
[cleland-huang03][ernst10]21
Portability Reliability
portabilitytransferability
interoperabilitydocumentation
internationalizationi18n...
reliabilityfailureerror
redundancyfailsbug...
Word BagExamples
22
LDALSI
Commit
Developer Topic
Developer Topics
Developer Topic
Commit
Maintainability Reliability
purpose?
23
Time (months)Un
iqu
e T
op
ics
Labelled Developer Topics
24
Time (months)Un
iqu
e T
op
ics
Labelled Developer Topics
LinuxKernel
WindowsAMD64
25
maintainabilityportability
reliability
efficiency
efficiency
functionality
functionality
maintainability portability
portabilityefficiency
Time (months)Un
iqu
e T
op
ics
Labelled Developer Topics
26
MaxDB 7.500 Timeline
MaintainabilityPortability
MaintainabilityPortabilityReliabilityEffeciency
MaintainabilityEffeciency
[MSR 2011]27
SOFTWAREPROCESSRECOVERY:INTEGRATION28
Requirements
Business Modeling
Analysis & Design
Implementation
Test
Deployment
CM and SCS
Project Mangement
Environment
Theory Practice
Recovered Unified ProcessViews
[ICSM10]29
=
UP Requirements Signal
+ +
30
UP Implementation Signal
=
31
UP Testing Signal
=
32
SQLite Case Study
33
SQLite Case Study: 2009
Business Modelling
Requirements
Analysis
Implementation
Testing
Deployment
Config/SCS
Project Management
Environment
34
RequirementsBusiness Modeling
Analysis & Design
Project MangementEnvironment
Disciplines
?
UP Observability
? ?
35
Future Work
Accuracy
?
?UnknownProject
MSR Benchmark
Validation
Peopleand
teams
Peopleand
teams
Industrial IterationIdentification
36
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
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
Lessons Learned
Collaborate!
BoringSlidesConferences!
Organization
A PhD is not enough
39