SlideShare a Scribd company logo
1 of 39
Download to read offline
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/
                                    abram.hindle@softwareprocess.es




                                                                         1
Abram Hindle
What are we going to do?

                    Theory   Practice




                             ?
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
CM and SCS

Project Mangement
Environment
                                        2
3
Motivation: Stakeholders


     Fixers or                Investors and
Star Programmers               Acquisitions

                   Managers




                         Employees assigned
  New Developers             to a ISO9000
                         conformance project
                                          4
Proposed Process   Recovered Process
Workflows




                           Is my proposed
                           process actually
                             being used?

                                              5
Proposed and Recovered Differences between
   Process Overlayed  Proposed and Recovered
Workflows




                   I can compare
                  and contrast the
                 observed process
                     versus the
                 expected process!
                                          6
How to get an overview: Interviews
                             time
                          consuming



                  annoying

      ER
DANG
 access



                                     7
Can't we just                                                   Revisions
                                        Software
 summarize                             Repositories
what is going                 Source Code




on within this                     Source Code                       Build / Configuration




   project?                                             Tests
                                                                Documentation




                                                   Phases
         Disciplines
                           Inception      Elaboration    Construction Transition
       Business Modeling
       Requirements
       Analysis & Design
       Implementation
       Test
       Deployment
       CM and SCS
       Project Mangement
       Environment
                           Initial Elab     Elab    Const Const Const Trans
                                                                                    8
Research Relationships
                                                    Software
                                  Intent, Purpose
                      Behaviour                   Development
                                     and Tasks
                                                    Process
 Release Patterns:
    Source/Test/
Build/Documentation

   Topic Analysis

  Large Changes

 Recovered Unified
   Process Views




                                                           9
Mining Software Repositories


                             Revisions




  Source Code


       Source Code                 Build / Configuration




                     Tests
                              Documentation
                                                  10
Source Acquisition


                         Version
                         Control

                        Revisions
 discussions   bugs       source

Initial Repositories and artifacts
                                    11
SOFTWARE
PROCESS
RECOVERY
       12
Release Patterns: STBD
                             Release
                             Event

                                                          Linear Regression



              Source                                      Source Code Revisions
                                                          per Time Unit (day)
                                                          Smoothed
                                                          Summed Near Release
Revisions
per Time
              Test                                        Test Revisions
Unit                                                      per Time Unit (day)
summed                                                    Smoothed
per time                                                  Summed Near Release
unit
before and    Build                                       Build Revisions
after a                                                   per Time Unit (day)
release                                                   Smoothed
                                                          Summed Near Release

              Documentation                               Documentation Revisions
                                                          per Time Unit (day)
                                                          Smoothed
             -n time units      0      +n time units
                                                          Summed Near Release

                                Time                   [Hindle ICSM07]
                                                                    13
STBD applied to SQLite




SQLITE                   14
Proportion of Commits




                                  0
                                      0.05
                                             0.1
                                                   0.15
                                                          0.2
                                                                0.25
                                                                       0.3
                                                                             0.35
                                                                                    0.4
      C                                                                                   0.45
       or
                  re
                    ct
                         iv
                              e
           A
                  d
                   ap
                        ti
                             ve
      P
             er
                fe
                   c    ti
                             ve
         S No
          o     n
        C urc -
         od e
            e -
        m Im
          en p
             ta le-
               ti
                  on
            15
                                                                                                 Maintenance Classes of Large Changes




[Hindle ICPC09]
What is this commit about?




 Added a test for bug
   #1326 on OSX




                             16
What is this commit about?




 Added a test for bug
   #1326 on OSX




                             17
What is this commit about?




    Added a test for bug
      #1326 on OSX


              Maintain-
Reliability   ability     Portability

                                        18
But we have many commits..




              Maintain-
Reliability               Portability
              ability
                                        19
Cross Project Relevance

      Version                                             Version
      Control                                             Control


                efficiency


                 Shared
                                  usability



                                                 reliability and
                                                  functionality




                Concepts
                                            (includes correctness)




                                 maintainability


   Version         portability
                                                                     Version
   Control                                                           Control




                                                                               20
Quality Related
Non functional requirements



portability            reliability and
                        functionality
                  (includes correctness)
   usability

                  efficiency

maintainability              [cleland-huang03]
                                      [ernst10]
                                             21
Word Bag
                 Examples



  Portability           Reliability
     portability         reliability
   transferability         failure
  interoperability          error
   documentation        redundancy
internationalization        fails
        i18n                 bug
         ...                  ...      22
Developer Topics


     Commit                   Commit



 Developer Topic              Developer Topic
                   purpose?


Maintainability               Reliability
                     LDA
                                                23
Unique Topics   Labelled Developer Topics




                Time (months)           24
Labelled Developer Topics


                      Linux
Unique Topics



                      Kernel
                     Windows
                     AMD64

                Time (months)           25
Labelled Developer Topics
                           efficiencyportability                   efficiency
                  portability                                  functionalit
                  maintainability
                        efficiency
Unique Topics




                                                 reliability


                   maintainability portability

                 functionality

                Time (months)                                           26
MaxDB 7.500 Timeline




Maintainability   Maintainability    Maintainability
Portability       Portability        Effeciency
                  Reliability
                  Effeciency



                                            27
                                    [MSR 2011]
SOFTWARE
PROCESS
RECOVERY:
        28
Recovered Unified Process
           Views
                    Theory   Practice
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
CM and SCS

Project Mangement
Environment
                                 [ICSM10]
                                       29
UP Requirements Signal




      +             +
              =

                         30
UP Implementation Signal




             =

                           31
UP Testing Signal




              =

                    32
SQLite Case Study




                    33
SQLite Case Study: 2009

                     Testing
Business Modelling
                     Deployment
Requirements
                     Config/SCS
Analysis
                     Project Management
Implementation
                     Environment
                                          34
UP Observability



?            ?          ?
      Disciplines

    Business Modeling
    Requirements
    Analysis & Design

    Project Mangement
    Environment
                            35
Future Work

               ?




People                             Accuracy
               ?
                   Unknown
                    Project




 and                  MSR
                   Benchmark




teams        Validation


Industrial                      Iteration
                              Identification
                                              36
Common Threads
     Idioms
          *.doxygen
       *.tex
                    FILES
                          Makefile
                                 Makefile.*                                 External
        INSTALL doc/
      README
AUTHORS
 TODO
                                configure
                           configure.*
                                                                            Project
*.txt
               Documentation
                                             setup.hs
                                             *test*
                                                     build.xml
                                                      setup.py            Language
    *.hs
 *.ml
                *.php          *.java             *.scm
                                                                                        shared
                  *.lisp *.cpp
  *.tcl
               *.c
                     *.C    Source Code
                                           *.py     *.t unit tests
                                                  *.sql                               vocabulary
Source Code
                                          *.pl    Source Code
                                                                 *.test
                     *.pl
                                          *.pm
                *.rb
                                                                Test




                                                                             vocabulary       vocabulary
        Shared Terms
                                                                            Project          Project
                     Usability
                                          Maintainability                  Internal
                                                                            Project
              Portability           Reliability
                                                          Efficiency        Language
                                                                                                       37
Process Recovery Summary
                                                                               Disciplines
                                                                            Business Modeling
                                                                            Requirements
                                                                            Analysis & Design
                                                                            Implementation
                                                                            Test
                                                                            Deployment
                                                                            CM and SCS
                                                                            Project Mangement
                                                                                                                                                                                                                      Managers
Software Process


                                                                            Environment




                                                    Maintenance Classes                                                                                                        Release Patterns
                                                                                                  DeveloperportaTopic Analysis
                                                                                                          efficiency bility
                                                                                                                                                                                                                       Fixers or
                                            0.45



                                                                                                  and Labelling
                                             0.4

                                            0.35
                                                                                                                    efficiency                                                                                      Star Programmers
    Recovery



                                                                                                                                                                                                   Source
                    Proportion of Commits




                                             0.3

                                            0.25                                                                                       reliability
                                             0.2

                                            0.15                                                                                                                                                        Test
                                             0.1
                                                                                                         maintainability portability
                                            0.05
                                                                                                   functionality                                                                                 Build
                                              0
                                                                                                                                          LDA
                                                                         ta le-
                                                                               on
                                                      e




                                                                                e
                                                              ve




                                                                   C urc -
                                                     iv




                                                                             iv

                                                                              n

                                                                        e -
                                                                     en p
                                                                            ti
                                                                    od e




                                                                                                                                          LSI
                                                                    S No
                                                              ti




                                                                   m Im
                                                     ct




                                                                          ct




                                                                                                                                                                                 Documentation
                                                          ap
                                                   re




                                                                       fe


                                                                     o
                                                          d
                                               or




                                                                    er




                                                                                                                                                     [Hindle09ICSM]
                                                                                                                                                                      [hindl
                                                          A




                                                                              [Hindle ICPC09]
                                             C




                                                                   P




                                                                                                     [Hindle and Ernst http://softwareprocess.es/name/]                                         [Hindle ICSM07]
                                                                                                                                                                                         Time
                                                                                                                                                                                                                   New Developers

                                                                                                                                                                                     Tests           Source
                                                                                                                             Documentation

                   Usability Maintainability                                        Reliability   Portability
                                                                        Efficiency
                                                                                                                                                                  Build
                                                                                                                                                                                                                    Investors and
                                                                                                                                                                                                                     Acquisitions



                                                                                                                                                                           Version
                                                                                                                                                                           Control                                   ISO9000
                                                                                                                                                                                                                    Consultants


                                                                                                                                                                      Revisions
                                                                       Discussions                                       Bugs                                             Source
                                                                                                                                                                                                                              38
Lessons Learned
                   Boring
                   Slides
                    Conferences!
Collaborate!

Organization


               A PhD is not enough
                                   39

More Related Content

What's hot

Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionProduct Marketing Services
 
Refactoring AOMs For AgilePT2010
Refactoring AOMs For AgilePT2010Refactoring AOMs For AgilePT2010
Refactoring AOMs For AgilePT2010Joseph Yoder
 
Pragmatic notdogmatictdd
Pragmatic notdogmatictddPragmatic notdogmatictdd
Pragmatic notdogmatictddJoseph Yoder
 
Ravit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in AgileRavit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in AgileAgileSparks
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approachMichael Kopp
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asAgileSparks
 
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Marko Taipale
 
Agile Importance in Pharmaceutical Industry
Agile Importance in Pharmaceutical IndustryAgile Importance in Pharmaceutical Industry
Agile Importance in Pharmaceutical IndustryVijay Brzee
 
Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Oguzhan Ozavar
 
Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010Marko Taipale
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentationrhofkens
 
Alliance Successful Selenium Automation
Alliance Successful Selenium AutomationAlliance Successful Selenium Automation
Alliance Successful Selenium Automationsadams22
 
Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...
Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...
Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...Verhaert Masters in Innovation
 

What's hot (19)

Lean agile pt
Lean  agile ptLean  agile pt
Lean agile pt
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
Refactoring AOMs For AgilePT2010
Refactoring AOMs For AgilePT2010Refactoring AOMs For AgilePT2010
Refactoring AOMs For AgilePT2010
 
Pragmatic notdogmatictdd
Pragmatic notdogmatictddPragmatic notdogmatictdd
Pragmatic notdogmatictdd
 
Lesson2 software process_contd2
Lesson2 software process_contd2Lesson2 software process_contd2
Lesson2 software process_contd2
 
Ravit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in AgileRavit Danino HP - Roles and Collaboration in Agile
Ravit Danino HP - Roles and Collaboration in Agile
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
Whipp q3 2008_sv
Whipp q3 2008_svWhipp q3 2008_sv
Whipp q3 2008_sv
 
Shirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-asShirly Ronen - rapid release flow and agile testing-as
Shirly Ronen - rapid release flow and agile testing-as
 
The Agile PMP v2
The Agile PMP v2The Agile PMP v2
The Agile PMP v2
 
Adopting Agile
Adopting  AgileAdopting  Agile
Adopting Agile
 
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
Continuous Deployment – Nextdoor.fi released every day at Scan-Agile 2011
 
Zhang rtp q307
Zhang rtp q307Zhang rtp q307
Zhang rtp q307
 
Agile Importance in Pharmaceutical Industry
Agile Importance in Pharmaceutical IndustryAgile Importance in Pharmaceutical Industry
Agile Importance in Pharmaceutical Industry
 
Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012Avea Release Management IBM Innovate 2012
Avea Release Management IBM Innovate 2012
 
Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010Case Nextdoor.fi at LESS2010
Case Nextdoor.fi at LESS2010
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentation
 
Alliance Successful Selenium Automation
Alliance Successful Selenium AutomationAlliance Successful Selenium Automation
Alliance Successful Selenium Automation
 
Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...
Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...
Verhaert Innovation Day 2011 – Koenraad Rombaut & Michiel De Paepe (VERHAERT)...
 

Viewers also liked

ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical DebtICSM 2011
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteICSM 2011
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11ICSM 2011
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsICSM 2011
 
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...ICSM 2011
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...ICSM 2011
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsICSM 2011
 
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...ICSM 2011
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesICSM 2011
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...ICSM 2011
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...ICSM 2011
 
ERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskICSM 2011
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationICSM 2011
 
Faults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsFaults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsICSM 2011
 
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ICSM 2011
 
Industry - Estimating software maintenance effort from use cases an indu...
Industry - Estimating software maintenance effort from use cases an      indu...Industry - Estimating software maintenance effort from use cases an      indu...
Industry - Estimating software maintenance effort from use cases an indu...ICSM 2011
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ICSM 2011
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...ICSM 2011
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects ICSM 2011
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...ICSM 2011
 

Viewers also liked (20)

ERA - Tracking Technical Debt
ERA - Tracking Technical DebtERA - Tracking Technical Debt
ERA - Tracking Technical Debt
 
Lionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 KeynoteLionel Briand ICSM 2011 Keynote
Lionel Briand ICSM 2011 Keynote
 
Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11Richard Kemmerer Keynote icsm11
Richard Kemmerer Keynote icsm11
 
Natural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming ConventionsNatural Language Analysis - Mining Java Class Naming Conventions
Natural Language Analysis - Mining Java Class Naming Conventions
 
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
 
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
 
Components - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API LimitationsComponents - Graph Based Detection of Library API Limitations
Components - Graph Based Detection of Library API Limitations
 
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
 
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java InterfacesMetrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
 
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
 
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...Industry - The Evolution of Information Systems. A Case Study on Document Man...
Industry - The Evolution of Information Systems. A Case Study on Document Man...
 
ERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to TaskERA - Clustering and Recommending Collections of Code Relevant to Task
ERA - Clustering and Recommending Collections of Code Relevant to Task
 
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change PropagationImpact analysis - A Seismology-inspired Approach to Study Change Propagation
Impact analysis - A Seismology-inspired Approach to Study Change Propagation
 
Faults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussionsFaults and Regression Testing - Fault interaction and its repercussions
Faults and Regression Testing - Fault interaction and its repercussions
 
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
 
Industry - Estimating software maintenance effort from use cases an indu...
Industry - Estimating software maintenance effort from use cases an      indu...Industry - Estimating software maintenance effort from use cases an      indu...
Industry - Estimating software maintenance effort from use cases an indu...
 
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
ERA Poster - Measuring Disruption from Software Evolution Activities Using Gr...
 
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...Industry - Evolution and migration - Incremental and Iterative Reengineering ...
Industry - Evolution and migration - Incremental and Iterative Reengineering ...
 
Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects Industry - Testing & Quality Assurance in Data Migration Projects
Industry - Testing & Quality Assurance in Data Migration Projects
 
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
 

Similar to Postdoc Symposium - Abram Hindle

Walley.tina
Walley.tinaWalley.tina
Walley.tinaNASAPMC
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM toolsLarry Cai
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an IntroductionSanjeev Sharma
 
Blue Monitor Systems Software Development Services
Blue Monitor Systems Software Development ServicesBlue Monitor Systems Software Development Services
Blue Monitor Systems Software Development Servicesbluemonitor
 
Aras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandDavid O'Dowd
 
Relay health build system
Relay health build systemRelay health build system
Relay health build systemroncordell
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Ayman El-Hattab
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill Iverson
 
Visual Studio Application Lifecycle Managment end-to-end
Visual Studio Application Lifecycle Managment end-to-endVisual Studio Application Lifecycle Managment end-to-end
Visual Studio Application Lifecycle Managment end-to-endHosam Kamel
 
End-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementEnd-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementHosam Kamel
 
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft AjaxThe Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft AjaxDarren Sim
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous EverythingAndrea Tino
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Intland Software GmbH
 
Team Development and Release Management
Team Development and Release ManagementTeam Development and Release Management
Team Development and Release ManagementSalesforce Partners
 
Test driven development
Test driven developmentTest driven development
Test driven developmentShalabh Saxena
 
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...Burns Sheehan
 
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...QAI
 

Similar to Postdoc Symposium - Abram Hindle (20)

Walley.tina
Walley.tinaWalley.tina
Walley.tina
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
Agile & ALM tools
Agile & ALM toolsAgile & ALM tools
Agile & ALM tools
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Blue Monitor Systems Software Development Services
Blue Monitor Systems Software Development ServicesBlue Monitor Systems Software Development Services
Blue Monitor Systems Software Development Services
 
Aras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment Methodology
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
 
Relay health build system
Relay health build systemRelay health build system
Relay health build system
 
Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview Visual Studio 2010 ALM Tools Overview
Visual Studio 2010 ALM Tools Overview
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Visual Studio Application Lifecycle Managment end-to-end
Visual Studio Application Lifecycle Managment end-to-endVisual Studio Application Lifecycle Managment end-to-end
Visual Studio Application Lifecycle Managment end-to-end
 
End-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle ManagementEnd-To-End Visual Studio Application Lifecycle Management
End-To-End Visual Studio Application Lifecycle Management
 
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft AjaxThe Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
 
Team Development and Release Management
Team Development and Release ManagementTeam Development and Release Management
Team Development and Release Management
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
The Evolution of Agile - Continuous Delivery - Extending Agile out to Product...
 
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
 
Unit03: Process and Business Models
Unit03: Process and Business ModelsUnit03: Process and Business Models
Unit03: Process and Business Models
 

Recently uploaded

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Postdoc Symposium - Abram Hindle

  • 1. 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/ abram.hindle@softwareprocess.es 1 Abram Hindle
  • 2. What are we going to do? Theory Practice ? Business Modeling Requirements Analysis & Design Implementation Test Deployment CM and SCS Project Mangement Environment 2
  • 3. 3
  • 4. Motivation: Stakeholders Fixers or Investors and Star Programmers Acquisitions Managers Employees assigned New Developers to a ISO9000 conformance project 4
  • 5. Proposed Process Recovered Process Workflows Is my proposed process actually being used? 5
  • 6. Proposed and Recovered Differences between Process Overlayed Proposed and Recovered Workflows I can compare and contrast the observed process versus the expected process! 6
  • 7. How to get an overview: Interviews time consuming annoying ER DANG access 7
  • 8. Can't we just Revisions Software summarize Repositories what is going Source Code on within this Source Code Build / Configuration project? Tests Documentation Phases Disciplines Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment CM and SCS Project Mangement Environment Initial Elab Elab Const Const Const Trans 8
  • 9. Research Relationships Software Intent, Purpose Behaviour Development and Tasks Process Release Patterns: Source/Test/ Build/Documentation Topic Analysis Large Changes Recovered Unified Process Views 9
  • 10. Mining Software Repositories Revisions Source Code Source Code Build / Configuration Tests Documentation 10
  • 11. Source Acquisition Version Control Revisions discussions bugs source Initial Repositories and artifacts 11
  • 13. Release Patterns: STBD Release Event Linear Regression Source Source Code Revisions per Time Unit (day) Smoothed Summed Near Release Revisions per Time Test Test Revisions Unit per Time Unit (day) summed Smoothed per time Summed Near Release unit before and Build Build Revisions after a per Time Unit (day) release Smoothed Summed Near Release Documentation Documentation Revisions per Time Unit (day) Smoothed -n time units 0 +n time units Summed Near Release Time [Hindle ICSM07] 13
  • 14. STBD applied to SQLite SQLITE 14
  • 15. Proportion of Commits 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 C 0.45 or re ct iv e A d ap ti ve P er fe c ti ve S No o n C urc - od e e - m Im en p ta le- ti on 15 Maintenance Classes of Large Changes [Hindle ICPC09]
  • 16. What is this commit about? Added a test for bug #1326 on OSX 16
  • 17. What is this commit about? Added a test for bug #1326 on OSX 17
  • 18. What is this commit about? Added a test for bug #1326 on OSX Maintain- Reliability ability Portability 18
  • 19. But we have many commits.. Maintain- Reliability Portability ability 19
  • 20. Cross Project Relevance Version Version Control Control efficiency Shared usability reliability and functionality Concepts (includes correctness) maintainability Version portability Version Control Control 20
  • 21. Quality Related Non functional requirements portability reliability and functionality (includes correctness) usability efficiency maintainability [cleland-huang03] [ernst10] 21
  • 22. Word Bag Examples Portability Reliability portability reliability transferability failure interoperability error documentation redundancy internationalization fails i18n bug ... ... 22
  • 23. Developer Topics Commit Commit Developer Topic Developer Topic purpose? Maintainability Reliability LDA 23
  • 24. Unique Topics Labelled Developer Topics Time (months) 24
  • 25. Labelled Developer Topics Linux Unique Topics Kernel Windows AMD64 Time (months) 25
  • 26. Labelled Developer Topics efficiencyportability efficiency portability functionalit maintainability efficiency Unique Topics reliability maintainability portability functionality Time (months) 26
  • 27. MaxDB 7.500 Timeline Maintainability Maintainability Maintainability Portability Portability Effeciency Reliability Effeciency 27 [MSR 2011]
  • 29. Recovered Unified Process Views Theory Practice Business Modeling Requirements Analysis & Design Implementation Test Deployment CM and SCS Project Mangement Environment [ICSM10] 29
  • 34. SQLite Case Study: 2009 Testing Business Modelling Deployment Requirements Config/SCS Analysis Project Management Implementation Environment 34
  • 35. UP Observability ? ? ? Disciplines Business Modeling Requirements Analysis & Design Project Mangement Environment 35
  • 36. Future Work ? People Accuracy ? Unknown Project and MSR Benchmark teams Validation Industrial Iteration Identification 36
  • 37. Common Threads Idioms *.doxygen *.tex FILES Makefile Makefile.* External INSTALL doc/ README AUTHORS TODO configure configure.* Project *.txt Documentation setup.hs *test* build.xml setup.py Language *.hs *.ml *.php *.java *.scm shared *.lisp *.cpp *.tcl *.c *.C Source Code *.py *.t unit tests *.sql vocabulary Source Code *.pl Source Code *.test *.pl *.pm *.rb Test vocabulary vocabulary Shared Terms Project Project Usability Maintainability Internal Project Portability Reliability Efficiency Language 37
  • 38. Process Recovery Summary Disciplines Business Modeling Requirements Analysis & Design Implementation Test Deployment CM and SCS Project Mangement Managers Software Process Environment Maintenance Classes Release Patterns DeveloperportaTopic Analysis efficiency bility Fixers or 0.45 and Labelling 0.4 0.35 efficiency Star Programmers Recovery Source Proportion of Commits 0.3 0.25 reliability 0.2 0.15 Test 0.1 maintainability portability 0.05 functionality Build 0 LDA ta le- on e e ve C urc - iv iv n e - en p ti od e LSI S No ti m Im ct ct Documentation ap re fe o d or er [Hindle09ICSM] [hindl A [Hindle ICPC09] C P [Hindle and Ernst http://softwareprocess.es/name/] [Hindle ICSM07] Time New Developers Tests Source Documentation Usability Maintainability Reliability Portability Efficiency Build Investors and Acquisitions Version Control ISO9000 Consultants Revisions Discussions Bugs Source 38
  • 39. Lessons Learned Boring Slides Conferences! Collaborate! Organization A PhD is not enough 39