Upload
dicortazar
View
219
Download
0
Embed Size (px)
Citation preview
8/8/2019 OSS 2009: What does it take to develop a million lines of code?
1/21
IntroductionApproach
ResultsConclusions and Further Work
What Does it Take to Develop a Million Lines ofOSS?
5th Conference on Open Source Systems, Skovde, Sweden.
J. Fernandez-Ramil, D. Izquierdo-Cortazar, Tom Mens
[email protected], [email protected], [email protected] Open University, U.K., Universidad Rey Juan Carlos, Spain,
University of Mons, Belgium
June 5, 2009
J. Fernandez-Ramil, D. Izquierdo-Cortazar, Tom Mens What Does it Take to Develop a Million Lines of OSS?
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
2/21
IntroductionApproach
ResultsConclusions and Further Work
(cc) 2009 Juan Fernandez-Ramil, Daniel Izquierdo-Cortazar, Tom Mens.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/
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
3/21
IntroductionApproach
ResultsConclusions and Further Work
Table of contents
1 Introduction
2 Approach
3 Results
4 Conclusions and Further Work
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
4/21
IntroductionApproach
ResultsConclusions and Further Work
Index
1 Introduction
2 Approach
3 Results
4 Conclusions and Further Work
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
I d i
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
5/21
IntroductionApproach
ResultsConclusions and Further Work
Introduction
For more than 30 years, software cost estimation andproductivity measurement has been a research topic.
Most studies based on data from proprietary software.
However there are few studies looking at OSS productivity.We are aware of only two.
Our study is preliminary and exploratory, hoping that betterstudies will follow.
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
I t d ti
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
6/21
IntroductionApproach
ResultsConclusions and Further Work
Motivation
New datasets provided by FLOSSMetrics(http://flossmetrics.org) make possible to analyse large
quantities of data.Most of the productivity and effort studies are based onnon-traceable datasets.
FLOSS projects are a great opportunity to compare those
proprietary-based effort models with the reality of FLOSSworld.
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
Introduction
http://flossmetrics.org/http://flossmetrics.org/http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
7/21
IntroductionApproach
ResultsConclusions and Further Work
Research Question
What does it take to develop a million lines of open source code?
Relationships between, firstly, size and...
...secondly, effort, duration and team size.
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
Introduction
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
8/21
IntroductionApproach
ResultsConclusions and Further Work
Index
1 Introduction
2 Approach
3 Results
4 Conclusions and Further Work
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
9/21
Introduction
8/8/2019 OSS 2009: What does it take to develop a million lines of code?
10/21
IntroductionApproach
ResultsConclusions and Further Work
FLOSS Systems Studied and Characteristics
Project PL Desc. Years
Blender C/C++ 3D animation 6Eclipse Java IDE 6.9
FPC Pascal Compiler 3.4GCC C/Java/Ada GNU compiler 19.9GCL C/Lisp/ASM GNU Lisp 8.8GDB C/C++ GNU debug. 9.5
GIMP C Image manipulation 10.9
GNUBinUtils C/C++ Binary tools 9.4NCBITools C/C++ Libs. for biology apps. 15.4WireShark C Network analyser 10
XEmacs Lisp/C App. dev. system 12.2
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
Introduction
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
11/21
ApproachResults
Conclusions and Further Work
Measurements
KLOC - Physical lines of source code (SLOCCount)
FILES - Total number of files in code repository (CVSAnalY)
EFFORT - Effort in Contributor-years (CVSAnalY)
DUR - Time Length of active evolution in years (CVSAnalY)
DEV - Number of distinct contributors (CVSAnalY)
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
Introduction
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
12/21
ApproachResults
Conclusions and Further Work
COCOMO model
Basic COCOMO 81 modelFor comparisons we used the default COCOMO 81 values asset in the SLOCCount tool.
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
Introduction
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
13/21
ApproachResults
Conclusions and Further Work
Index
1 Introduction
2 Approach
3 Results
4 Conclusions and Further Work
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
Introduction
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
14/21
ApproachResults
Conclusions and Further Work
Growth Models
We found a very good fit to linear, quadratic or exponentialmodels with R2 values ranging from 0.98 to 0.99.
Five follow linear models.Three follow sublinear (quadratic) models
Three follow superlinear models (2 quadratic and 1exponential)
However this trends may be use carefully and they are usablejust for specific estimation model for the given project.
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
IntroductionA h
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
15/21
ApproachResults
Conclusions and Further Work
Growth Models
Table: Best fit models for monthly growth trends in netFILES
system best growth trend model R2
Blender linear 0.99
Eclipse linear 0.99FPC linear 0.98GCC superlinear 0.99GCL sublinear 0.98GDB linear 0.99
GIMP sublinear 0.99GNUBinUtils linear 0.99
NCBITools superlinear 0.98WireShark superlinear 0.99
XEmacs sublinear 0.98
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
IntroductionA h
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
16/21
ApproachResults
Conclusions and Further Work
Comparison FLOSS data vs COCOMO model
10 ouf of 11 projects display EFFORT lower than predicted byCOCOMO.
The smallest project (GIMP) is close to COCOMO prediction.
8 out of 11 projects display higher values of DUR thanCOCOMO predictions.
6 out of 11 projects display higher values of DEV than
COCOMO predictions.
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
IntroductionApproach
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
17/21
ApproachResults
Conclusions and Further Work
Comparison FLOSS data vs COCOMO model
!"#"$%&'(%$)"
!"#"$%$*+'","&-%-$-"
./"#"$%01$"
0
200
400
600
800
1000
1200
1400
1600
1800
2000
0 1000 2000 3000 4000 5000 6000
!""#$%&'()*+,-./+),0123,45&64&78#9&
232343"
56377"89:9"
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
IntroductionApproach
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
18/21
ApproachResults
Conclusions and Further Work
Index
1 Introduction
2 Approach
3 Results
4 Conclusions and Further Work
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
IntroductionApproach
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
19/21
ApproachResults
Conclusions and Further Work
Conclusions
The comparison between data from 11 FLOSS projects andthe COCOMO model suggests that generic FLOSSproductivity and effort is needed.
Better models may be obtained by means of refinement andimprovement of the approach.
FLOSS projects with linear or superlinear growth seem to defythat the growth rate remains stable or decreases due to
excessive accumulated complexity.Thus, if several cost models may be suitable for linearly,superlinearly or sublinearly projects is an open question.
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
IntroductionApproach
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
20/21
ApproachResults
Conclusions and Further Work
Further Research
Study additional number of projects (COCOMO is based on
at least 61)Regression models are too simple and do not reflect anytheory about FLOSS
Measure further attributes may increase the accuracy (e.g.:just measure source code files).
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
IntroductionApproach
http://find/http://goback/8/8/2019 OSS 2009: What does it take to develop a million lines of code?
21/21
ppResults
Conclusions and Further Work
Thanks for your attention
Thanks for your attention!
J. Fernandez-Ramil, D. Izquierdo-Cortazar, T. Mens What Does it Take to Develop a Million Lines of OSS?
http://find/http://goback/