OSS 2009: What does it take to develop a million lines of code?

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/