BENEVOL'11 - Reverse Engineering Architectural Feature Models
Benevol 2008: Relationship between Orphaning and Productivity
-
Upload
dicortazar -
Category
Documents
-
view
218 -
download
0
Transcript of Benevol 2008: Relationship between Orphaning and Productivity
-
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
1/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
Relationship between Orphaning and Productivityin Evolution and GIMPProjects
BENEVOL 2008. Eindhoven.
Daniel Izquierdo Cortazar
[email protected]/Libresoft, Universidad Rey Juan Carlos - University of Mons-Hainaut
December 11, 2008
Daniel Izquierdo Cortazar Relationship between Orphaning and Productivity in Evolution a
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
2/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
(cc) 2008 Daniel Izquierdo Cortazar.Some rights reserved. This document is distributed under the Creative
Commons Attribution-ShareAlike 2.5 licence, available inhttp://creativecommons.org/licenses/by-sa/2.5/
Daniel Izquierdo Cortazar Orphaning and Productivity
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
3/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
Table of contents
1 Introduction to Orphaning
2 Approach
3 Results and Work in Progress
4 Further Work
Daniel Izquierdo Cortazar Orphaning and Productivity
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
4/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
Index
1 Introduction to Orphaning
2 Approach
3 Results and Work in Progress
4 Further Work
Daniel Izquierdo Cortazar Orphaning and Productivity
I d i O h i
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
5/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
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 withexisting source code
Daniel Izquierdo Cortazar Orphaning and Productivity
I t d ti t O h i
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
6/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
Knowledge
Tacit knowledge: Not measurable
Explicit knowledge: It remains in the company/projectartifacts, such as code or documentation
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to Orphaning
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
7/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
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 Orphaning and Productivity
Introduction to Orphaning
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
8/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
Research Question
How can we measure the knowledge loss due to
developer turnover?
Approach to measure knowledge gap left by developersIs 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 Orphaning and Productivity
Introduction to Orphaning
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
9/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
Index
1 Introduction to Orphaning
2 Approach
3 Results and Work in Progress
4 Further Work
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to Orphaning
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
10/31
Introduction to OrphaningApproach
Results and Work in ProgressFurther Work
Previous Definitions
Committer: Developer with write access to the SCM system.
Author: Original developer of a line of codeNon-Active Committer: Committer with no activity since agiven date
Orphaned Line: Line of code whose author is a non-active
committer
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to Orphaning
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
11/31
p gApproach
Results and Work in ProgressFurther Work
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): LispObjectstring;1.8 (rms 11-Sep-92):1.8 (rms 11-Sep-92): LispObjecttail;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 (Fmakechartable(Qkeymap,Qnil), tail));1.1 (jimb 06-May-91):
..
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to Orphaning
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
12/31
p gApproach
Results and Work in ProgressFurther Work
Studying each period
Monthly analysis
Snapshots from each month
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to Orphaning
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
13/31
gApproach
Results and Work in ProgressFurther Work
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 Orphaning and Productivity
Introduction to Orphaning
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
14/31
ApproachResults and Work in Progress
Further Work
Tools
Libresoft-tools: publicly available
https://forge.morfeo-project.org/projects/
libresoft-tools/
CVSAnalY: It parsers CVS, SVN or Git log and stores thedata in SQL format (MySQL, PostgreSQL or SQLite)
Carnarvon: It parsers each line of code and stores data
regarding to author, date, revision and so on in MySQLdatabase.
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningA h
https://forge.morfeo-project.org/projects/libresoft-tools/https://forge.morfeo-project.org/projects/libresoft-tools/https://forge.morfeo-project.org/projects/libresoft-tools/https://forge.morfeo-project.org/projects/libresoft-tools/http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
15/31
ApproachResults and Work in Progress
Further Work
Index
1 Introduction to Orphaning
2 Approach
3 Results and Work in Progress
4 Further Work
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningA h
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
16/31
ApproachResults and Work in Progress
Further Work
Case Studies: GIMPand Evolution
GIMP (GNU Image Manipulation Program) is a graphicseditor
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
17/31
ApproachResults and Work in Progress
Further Work
Case Studies: GIMPand Evolution
Evolution combines e-mail, calendar, address book and tasklist managements functions
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
18/31
ApproachResults and Work in Progress
Further Work
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 Orphaning and Productivity
Introduction to OrphaningApproach
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
19/31
ApproachResults and Work in Progress
Further Work
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. LinesGIMP Total LinesGIMP Orph. Lines
Size an Orp ane Lines Evo ution
Daniel Izquierdo Cortazar Orphaning and Productivity
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
20/31
Introduction to OrphaningApproach
-
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
21/31
ppResults and Work in Progress
Further Work
Orphaned Lines GIMP
Just a big jump
Core group of developers remain stable during the wholeproject
Evolution of orphaned lines continuously decrease
Nowadays, the number of orphaned lines reach 13%!
Daniel Izquierdo Cortazar Orphaning and Productivity
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
22/31
Introduction to OrphaningApproach
-
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
23/31
Results and Work in ProgressFurther Work
Matching Orphaningand Productivity
Work in Progress:Hypothesis: High orphaning is correlated with lowproductivity
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
R l d W k i P
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
24/31
Results and Work in ProgressFurther Work
Matching Orphaningand Productivity:Evolution
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008
Time
0
500
1000
1500
2000
ModifiedFIles
Productivity Evolution Project
1998 2002 2006
Time
0
100000
200000
300000
400000
#O
rphanedL
ines
Orphaned Lines Evolution - Evolution Project
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
R lt d W k i P
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
25/31
Results and Work in ProgressFurther Work
Matching Orphaningand Productivity:GIMP
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008
Time
0
500
1000
1500
2000
2500
3000
ModifiedFiles
Productivity GIMP Project
1998 2002 2006
Time
0
100000
200000
300000
400000
500000
#O
rphanedLines
Orphaned Lines Evolution - GIMP Project
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
Results and Work in Progress
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
26/31
Results and Work in ProgressFurther Work
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 developersdisappear
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
Results and Work in Progress
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
27/31
Results and Work in ProgressFurther Work
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 Orphaning and Productivity
Introduction to OrphaningApproach
Results and Work in Progress
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
28/31
Results and Work in ProgressFurther Work
Index
1 Introduction to Orphaning
2 Approach
3 Results and Work in Progress
4 Further Work
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
Results and Work in Progress
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
29/31
Results and Work in ProgressFurther Work
Productivity
Detection of files with high levels of orphaning
Measure how they evolve
New Hypothesis: High levels of orphaning (in a file) iscorrelated with low levels of productivity (in that file)
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
Results and Work in Progress
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
30/31
gFurther Work
Enrich the approach
More projects, more data.
Working on Apache 1.3, GTK++, Wireshark and some others.
Daniel Izquierdo Cortazar Orphaning and Productivity
Introduction to OrphaningApproach
Results and Work in Progress
http://find/http://goback/ -
8/8/2019 Benevol 2008: Relationship between Orphaning and Productivity
31/31
gFurther Work
Thanks for your attention
Thanks for your attention!
Daniel Izquierdo Cortazar Orphaning and Productivity
http://find/http://goback/