oss dc 2010: software evolution and human resources: knowledge gap
TRANSCRIPT
-
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
1/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Software Evolution and Human Resources.Knowledge Gap left by Developers due to Turnover
Daniel Izquierdo Cortazar
[email protected]/Libresoft, Universidad Rey Juan Carlos
Doctoral Consortium, OSS 2010, Notre Dame, USAMay, 30th 2010
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
2/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
(cc) 2010 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 Software Evolution and Human Resources.
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
3/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Table of contents
1 Motivation
2 Research Questions
3 Methodology
4 Preliminary Results
5 Further Work and Open Questions
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
4/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Index
1 Motivation
2 Research Questions
3 Methodology
4 Preliminary Results
5 Further Work and Open Questions
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
M i i
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
5/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Introducing developers turnover
All the projects, even the most stable have to face developersturnover.
People tend to change their job after some years.
Project managers have to deal with these situations.
So, a new developer comes to fill that gap.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
M ti ti
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
6/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Introducing developers turnover
Thus, there is a natural regeneration of developers.Let us use junior for those who have just landed.
All of that experienced and knowledge about the project ismissed when seniors are gone.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
Motivation
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
7/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Introducing developers turnover
It is estimated in around 6 months the time to be productiveas the same level as seniors.
Even more if more sophisticated work is in progress.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
Motivation
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
8/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Introducing developers turnover
Thus, how to measure that knowledge gap left by developers?Source code lines / functions / files / modules.
We are dealing with the idea of orphaning.
And we are proposing a way to measure that knowledge gap.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
Motivation
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
9/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Previous definitions
Committer: Person who has the right to submit changes tothe source code management system (SCM).
Author: In some SCMs the real author could be specified(such as Git).
Non-active committer: That committer who left the project ina specific date.
Orphaned line: That line owned by a non-active committer.This line will remain until this is removed or modified.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
Motivation
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
10/27
MotivationResearch Questions
MethodologyPreliminary Results
Further Work and Open Questions
Intuition
Areas with high orphaning tend to remain in time.Bugs found in orphaned areas will take more time to be fixed.
Developers tend to work on their own source code.
Others...
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
Motivation
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
11/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Why could this be interesting?
Using the idea of orphaning, we could answer some questions:
Looking for abandoned areas in your project: full orphanedfiles/modules.How much orphaning is found in my project?: The higher theless knowledge over the source code.Check orphaned areas left by key developers: Then try to
re-collocate your best developers when some other leave.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
Motivation
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
12/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Index
1 Motivation
2 Research Questions
3 Methodology
4 Preliminary Results
5 Further Work and Open Questions
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
Motivation
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
13/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Some Initial Questions
So far, we have a new metric which provides information
about the quantity of orphaned code in your project.(Knowledge loss due to developers turnover).
In the following: so what?. This metric needs something moreto be validated.
This information should be matched/correlated with someother.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationQ
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
14/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Some Initial Questions
The first approach consists of matching orphaning and bugprediction/fixing process:
Is there any kind of relation between orphaning and bug fixing?Is there less maintenance in orphaned areas?Is it possible to have orphaning as a metric to measuremaintainability or code decay?Detecting areas with high orphaning, means lower maintenance
of them? (perhaps they are mature enough).
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationR h Q i
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
15/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Hypothesis
General questions:The higher the regeneration of developers, the higher thenumber of orphaned lines.The lower the regeneration of developers, the lower thenumber of orphaned lines.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationR s h Q sti s
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
16/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Specific questions: (Real relation between orphaning and bugsactivity).
The knowledge gap tends to be absorbed by other active
developers.The larger areas with orphaned code, the ...:
... larger number of remaining open bug reports.
... longer time to fix those bugs.
... longer time to be picked up.
... more tossing changes found.
... more number of predicted bugs appear.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
17/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Index
1 Motivation
2 Research Questions
3 Methodology
4 Preliminary Results
5 Further Work and Open Questions
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
18/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
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 Software Evolution and Human Resources.
MotivationResearch Questions
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
19/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Orphaning
Projects which initially offer a Git repository (e.g.: the oneused by the Linux Kernel).
The differences between one version and next one areobtained and stored in a MySQL database.
If a developer leaves the project, her lines become orphaned.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
20/27
Research QuestionsMethodology
Preliminary ResultsFurther Work and Open Questions
Adding Bugs Information
There are two possibilities:Try to match orphaned lines with what we know (retrievingreal information from BTS).Try to predict bugs based on existing source code and changes.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
21/27
QMethodology
Preliminary ResultsFurther Work and Open Questions
Index
1 Motivation
2
Research Questions
3 Methodology
4 Preliminary Results
5 Further Work and Open Questions
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
22/27
MethodologyPreliminary Results
Further Work and Open Questions
Case Studies: GIMP and 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 Software Evolution and Human Resources.
MotivationResearch Questions
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
23/27
MethodologyPreliminary Results
Further Work and Open Questions
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 Lines
Ev. Orph. LinesGIMP Total LinesGIMP Orph. Lines
Size an Orp ane Lines Evo ution
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
M h d l
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
24/27
MethodologyPreliminary Results
Further Work and Open Questions
Index
1 Motivation
2
Research Questions
3 Methodology
4 Preliminary Results
5 Further Work and Open Questions
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
M th d l
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
25/27
MethodologyPreliminary Results
Further Work and Open Questions
Work in Progress
Still working on the tool to extract information: the examples
shown are based on an older version.
Also, understanding the bug prediction based on source code.
Improving the tool to extract information from BTS.
Analyzing results at file granularity.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
Methodology
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
26/27
MethodologyPreliminary Results
Further Work and Open Questions
Open Questions
We still do not know what exactly means orphaning: matchingthat with bug prediction/bug fixing is expected to help.
Limitations:Mature areas could be wrong validated as orphaned areas.Communities such as PostgreSQL are quite restrictive: Thecommit rights are owned by few people.Working at the level of line could avoid from getting richer
information.Blank lines, changes such as spaces, adding licensesinformation, etc.
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
MotivationResearch Questions
Methodology
http://find/http://goback/ -
8/8/2019 OSS DC 2010: Software Evolution and Human Resources: Knowledge gap
27/27
MethodologyPreliminary Results
Further Work and Open Questions
Questions?
Thanks for your attendance!Questions?
Daniel Izquierdo Cortazar Software Evolution and Human Resources.
http://find/http://goback/