PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

Embed Size (px)

Citation preview

  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    1/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Orphaned Code: Analysing Code Left behind and

    Its Impact on Software Evolution

    Daniel Izquierdo Cortazar

    [email protected]/Libresoft, Universidad Rey Juan Carlos

    PSS Lab, Paris University VIISeptember, 17th 2010

    Daniel Izquierdo Cortazar Orphaned Code: Analysing Code Left behind and Its Impact on

    http://goforward/http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    2/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    (cc) 2009 Daniel Izquierdo Cortzar.Some rights reserved. This document is distributed under the Creative

    Commons Attribution-ShareAlike 3.0 licence, available inhttp://creativecommons.org/licenses/by-sa/3.0/

    Daniel Izquierdo Cortazar Orphaned Code

    http://goforward/http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    3/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Table of contents

    1 LibreSoft: General Overview

    2 Libresoft Tools

    3 Introduction to Orphaning

    4 Approach

    5

    Results and Work in Progress6 Further Work

    7 Bibliography

    Daniel Izquierdo Cortazar Orphaned Code

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    4/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Index

    1 LibreSoft: General Overview

    2 Libresoft Tools

    3 Introduction to Orphaning

    4 Approach

    5

    Results and Work in Progress6 Further Work

    7 Bibliography

    Daniel Izquierdo Cortazar Orphaned Code

    Lib S f G l O i

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    5/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Location

    Located at Universidad Rey Juan Carlos, Mstoles, MadridYoungest university in Madrid (12 years old)

    Escuela Tecnica Superior de Ingeniera de Telecomunicaciones

    GSyC (Grupo de Sistemas y Comunicaciones)

    http://libresoft.es

    Daniel Izquierdo Cortazar Orphaned Code

    Lib S ft G l O i

    http://libresoft.es/http://libresoft.es/http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    6/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    People

    Jess M. Gonzalez-Barahona, head of the group

    Gregorio Robles, assistant professor31 people working in Libresoft.

    2 professors

    20 of them working on projects and research activities

    7 of them with LibreSoft internships

    2 of them with research (to do PhD) grants

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General Overview

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    7/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    LibreSoft

    Academic activities: mining software repositories.Industrial activities (consultant, mobile networking, web 2.0)

    Reports related to libre software, like FLOSSImpact.

    Master on Free Software (Galicia and Madrid -

    http://master.libresoft.es)

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General Overview

    http://master.libresoft.es/http://master.libresoft.es/http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    8/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    European Projects

    QualOSS: Quality of Open Source Software

    FLOSSMetrics: Free/Libre/Open Source Software MetricsFLOSSWorld: Free/Libre/Open Source Software: Worldwideimpact study

    FLOSSInclude: Free/Libre/Open Source Software,International Cooperation

    OSOR: The Open Source Observatory and Repository

    QualipSO: Trust and Quality in Open Source Systems

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General Overview

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    9/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Empirical Approach: Data Sources

    Publicly available data sources

    Source Code Management (SCM) (CVS, SVN, Git, Mercurial,Bazaar,...)

    Mailing Lists, forum data

    Bug Tracking Systems

    Web site, wiki, documentation, IRC logs, ...

    Other places, FLOSSMole, FLOSSMetrics, ...

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General Overview

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    10/48

    LibreSoft: General OverviewLibresoft Tools

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Empirical Approach: Data Sources

    We can directly analyse how a project/community evolvesWe can directly analyse how the developers social network isgrowing

    We can measure number of people working on it

    ...

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General Overview

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    11/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    Empirical Approach: Data Sources

    Empirical analysis provide a new point of view

    Traceability of resultsTraceability of tools

    We can not measure how Windows Vista evolved

    We can not measure how Microsoft people interact among

    themWe can not even measure the size of Windows in number oflines

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General Overview

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    12/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    Index

    1 LibreSoft: General Overview

    2 Libresoft Tools

    3 Introduction to Orphaning

    4 Approach

    5 Results and Work in Progress

    6 Further Work

    7 Bibliography

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General Overview

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    13/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    Data Sources

    CVSAnalY - CVS, SVN, Git.

    Mailing List Stats - mbox format

    Bicho - SourceForge bug tracking system

    SLOCCount (David Wheeler, not from Libresoft)

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General Overviewf

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    14/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    CVSAnalY: An Example

    It extracts statistical information out of CVS, SVN and GitIt transforms that data into a MySQL database

    Web site: http://tools.libresoft.es/cvsanaly

    Hosted at: http://git.libresoft.es/cvsanaly/

    git clone git://git.libresoft.es/cvsanaly

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLib f T l

    http://tools.libresoft.es/cvsanalyhttp://git.libresoft.es/cvsanaly/http://git//git.libresoft.es/cvsanalyhttp://git//git.libresoft.es/cvsanalyhttp://git.libresoft.es/cvsanaly/http://tools.libresoft.es/cvsanalyhttp://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    15/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    CVSAnalY: CVS Log

    [...]1.246 (pj 13-Nov-01): /* Optional arg STRING supplies menu name for the keymap1.246 (pj 13-Nov-01): in case you use it as a menu with x-popup-menu. */)

    1.246 (pj 13-Nov-01): (string)1.8 (rms 11-Sep-92): Lisp Object string;1.8 (rms 11-Sep-92): {1.8 (rms 11-Sep-92): Lisp Object tail;1.8 (rms 11-Sep-92): if (!NILP (string))1.8 (rms 11-Sep-92): tail = Fcons (string, Qnil);1.8 (rms 11-Sep-92): else1.8 (rms 11-Sep-92): tail = Qnil;1.1 (jimb 06-May-91): return Fcons (Qkeymap,

    1.137 (rms 13-May-97): Fcons (Fmake char table (Qkeymap, Qnil), tail));1.1 (jimb 06-May-91): }

    [...]

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLib s ft T ls

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    16/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    CVSAnalY: Basic Metrics

    Number of CommitsNumber of Commiters

    Committers with highest number of commits

    Number of files worked by commiter

    etc...

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    17/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    CVSAnalY: Graphics

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    18/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    Index

    1 LibreSoft: General Overview

    2 Libresoft Tools

    3 Introduction to Orphaning

    4 Approach

    5 Results and Work in Progress

    6 Further Work

    7 Bibliography

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    19/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    Developer Turnover

    Developer turnover is a problem.There is a knowledge gap when senior developers leave aproject

    New developers need some time to become familiar with

    existing source code

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    20/48

    Libresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    Further WorkBibliography

    Knowledge

    Tacit knowledge: Not measurable

    Explicit knowledge: It remains in the company/projectartifacts, such as code or documentation

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    21/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Knowledge Sharing

    It is complicated to share tacit knowledge, but ...We can measure explicit knowledge:

    Source code management (CVS, SVN, Git, ...)

    Mailing lists

    Bug tracking systems

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    22/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Research Question

    How can we measure the knowledge loss due to

    developer turnover?

    Approach to measure knowledge gap left by developers

    Is this knowledge gap a good indicator for the projectshealth?

    Useful for managers, to determine risky zones

    We can measure the impact in number of lines of codewithout author present in the current team

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    23/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Index

    1 LibreSoft: General Overview

    2 Libresoft Tools

    3 Introduction to Orphaning

    4 Approach

    5 Results and Work in Progress

    6 Further Work

    7 Bibliography

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    I d i O h i

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    24/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Previous Definitions

    Committer: Developer with write access to the SCM system.

    Author: Original developer of a line of code

    Non-Active Committer: Committer with no activity since agiven date

    Orphaned Line: Line of code whose author is a non-activecommitter

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    I t d ti t O h i

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    25/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Studying each period

    Monthly analysis

    Snapshots from each month

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    Introduction to Orphaning

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    26/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Detection of non-active committers

    When does a committer leave the project?

    How many lines were authored by her?

    new orphaned lines

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    Introduction to Orphaning

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    27/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Index

    1 LibreSoft: General Overview

    2 Libresoft Tools

    3 Introduction to Orphaning

    4 Approach

    5 Results and Work in Progress

    6 Further Work

    7 Bibliography

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    Introduction to Orphaning

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    28/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Case Studies: GIMPand Evolution

    GIMP (GNU Image Manipulation Program) is a graphics

    editor

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    Introduction to Orphaning

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    29/48

    Introduction to OrphaningApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Case Studies: GIMPand Evolution

    Evolution combines e-mail, calendar, address book and task

    list managements functions

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    Introduction to Orphaning

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    30/48

    p gApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Case Studies: GIMPand Evolution

    Both started at the same time (around 1998. At least usingthe Source Code Management system)

    Both are included by default in the GNOME desktop (usingthe same process and release cycle)

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    Introduction to Orphaning

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    31/48

    p gApproach

    Results and Work in ProgressFurther Work

    Bibliography

    Orphaned Lines vs Size

    1998-02-28 2000-02-28 2002-03-28 2004-03-28 2006-03-28

    Time

    0

    200000

    400000

    600000

    800000

    1000000

    1200000

    NumberofLines

    Ev. Total LinesEv. Orph. Lines

    GIMP Total LinesGIMP Orph. Lines

    Size an Orp ane Lines Evo ution

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft Tools

    Introduction to Orphaning

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    32/48

    ApproachResults and Work in Progress

    Further WorkBibliography

    Orphaned Lines Evolution

    2001-05-28 2002-09-28 2003-12-28 2005-03-28 2006-06-28 2007-09-28

    Time

    0

    100000

    200000

    300000

    NumberofLines

    Evolution 03

    GIMP 03Evolution 05GIMP 05Evolution 07GIMP 07

    Orp ane Lines Evo ution. Evo ution an GIMP.

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    A h

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    33/48

    ApproachResults and Work in Progress

    Further WorkBibliography

    Orphaned Lines Evolution

    Three main jumpsCore group of developers turnover is abrupt

    Evolution of orphaned lines (not taking into account bigdeletions) is almost stable, just a small decrease

    Nowadays, the number of orphaned lines reach the 80%!

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    A h

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    34/48

    ApproachResults and Work in Progress

    Further WorkBibliography

    Orphaned Lines GIMP

    Just a big jumpCore group of developers remain stable during the wholeproject

    Evolution of orphaned lines continuously decrease

    Nowadays, the number of orphaned lines reach the 13%!

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    Approach

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    35/48

    ApproachResults and Work in Progress

    Further WorkBibliography

    What can tell us Orphaning?

    We do not really know...

    but we have some intuitions:

    Maintenance problems could appear: try to quickly fix adefect in areas which you do not know

    Code decay and aging : Orphaned areas in Evolution have not

    been modified for a long time

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    Approach

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    36/48

    ApproachResults and Work in Progress

    Further WorkBibliography

    Matching Orphaningand Productivity

    Work in Progress:

    Hypothesis: High orphaning is correlated with lowproductivity

    Daniel Izquierdo Cortazar Orphaned Code

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    37/48

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    Approach

  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    38/48

    ApproachResults and Work in Progress

    Further WorkBibliography

    Matching Orphaningand Productivity:GIMP

    1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008

    Time

    0

    500

    1000

    1500

    2000

    2500

    3000

    Mod

    ifiedFiles

    Productivity GIMP Project

    6 12 18 24 30 36 42 48 54 60 66 72 78 84 90 96 102

    0

    100000

    200000

    300000

    400000

    500000

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    Approach

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    39/48

    pp oacResults and Work in Progress

    Further WorkBibliography

    Conclusions

    Evolution: New set of developers = Increase of the

    productivity (Surprising for us!)

    Evolution: Old core group tended to disappear = big jumps inorphaning and productivity

    GIMP: Risky situation, if some of the core group developers

    disappear

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    Approach

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    40/48

    ppResults and Work in Progress

    Further WorkBibliography

    Conclusions

    Evolution: company-driven project. People have to deal withthat code, they are paid for that job.

    GIMP: community-driven project. People just choose, perhapsthey prefer to start from scratch.

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    Approach

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    41/48

    Results and Work in ProgressFurther Work

    Bibliography

    Index

    1 LibreSoft: General Overview

    2 Libresoft Tools

    3 Introduction to Orphaning

    4 Approach

    5 Results and Work in Progress

    6 Further Work

    7 Bibliography

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    Approach

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    42/48

    Results and Work in ProgressFurther Work

    Bibliography

    Productivity

    Detection of files with high levels of orphaningMeasure how they evolve

    New Hypothesis: High levels of orphaning (in a file) iscorrelated with low levels of productivity (in that file)

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    ApproachR l d W k i P

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    43/48

    Results and Work in ProgressFurther Work

    Bibliography

    Enrich the approach

    More projects, more data.

    Working on Apache 1.3, GTK++, Wireshark and some others.

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    ApproachR lt d W k i P

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    44/48

    Results and Work in ProgressFurther Work

    Bibliography

    Matching BTS and SCM

    New Hypothesis: Modifications in non-authored code maymean the introduction of new bugs (due to the fact you donot really know this area). Thus, higher levels or orphaning,may show higher levels of bug introduction.

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    45/48

    Results and Work in ProgressFurther Work

    Bibliography

    Matching BTS and SCM

    New Hypothesis: High levels of orphaning may show lowlevels of knowledge (certifying this by means of directinterviews with libre software developers).

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    46/48

    Results and Work in ProgressFurther Work

    Bibliography

    Index

    1 LibreSoft: General Overview

    2 Libresoft Tools

    3 Introduction to Orphaning

    4 Approach

    5 Results and Work in Progress

    6 Further Work

    7 Bibliography

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    47/48

    Results and Work in ProgressFurther Work

    Bibliography

    Slides based on the paper: Using Software Archaeology toMeasure Knowledge Loss in Software Projects due to Developer

    Turnover.Daniel Izquierdo-Cortazar, Gregorio Robles, Felipe Ortega and

    Jesus M. Gonzalez-Barahona.GSyC/Libresoft, Universidad Rey Juan Carlos (Madrid, Spain).

    dizquierdo, grex, jfelipe, [email protected]

    Daniel Izquierdo Cortazar Orphaned Code

    LibreSoft: General OverviewLibresoft ToolsIntroduction to Orphaning

    ApproachResults and Work in Progress

    http://find/http://goback/
  • 8/8/2019 PSS Lab, Paris VII 2009: Orphaned Code: Analyzing Code Left behind and Its Impact on Software Evolution

    48/48

    Results and Work in ProgressFurther Work

    Bibliography

    Questions?

    Thanks for your attendance!Questions?

    Daniel Izquierdo Cortazar Orphaned Code

    http://find/http://goback/