Evolution in Free and Open Source Software: A Study of Multiple Repositories

Similar documents
Adapting the Staged Model for Software Evolution to FLOSS

Commercial Stakeholders in the Evolution of OSS Systems

Agent-Based Modeling and Simulation of Collaborative Social Networks Research in Progress

2IMP25 Software Evolution. Software Evolution. Alexander Serebrenik

Agent-based Simulation of Open Source Evolution

Evidence Engineering. Audris Mockus University of Tennessee and Avaya Labs Research [ ]

Women in Debian and Free Software

Free/Open Source Software Development Practices in the Computer Game Community

Meta Design: Beyond User-Centered and Participatory Design

Reverse Engineering A Roadmap

Challenges in Software Evolution

Using Program Slicing to Identify Faults in Software:

Exploring the Role of Commercial Stakeholders in Open Source Software Evolution

A Software Engineering approach to Libre Software

Chapter 1 Basic Concepts and Preliminaries

An empirical study on the influence of context in computing thresholds for Chidamber and Kemerer metrics

freifunk.net a successful do it yourself approach for building wireless community networks in Germany Delhi October 2006

Issues, Challenges and Opportunities for Research in Software Engineering

Re-Engineering the Scientific Publishing Process for the Internetworked Global Academic Community

Understanding Open Source Software Evolution

The Inevitable Stability of Software Change

Requirements Gathering using Object- Oriented Models

Using Software Changes to Understand and Improve Software Projects. Avaya Labs Research Basking Ridge, NJ

Software-Change Prediction: Estimated+Actual

Envisioning National and International Research on the Multidisciplinary Empirical Science of Free/Open Source Software

Modelling Critical Context in Software Engineering Experience Repository: A Conceptual Schema

Software maintenance research that is empirically valid and useful in practice

Multi-criteria Assessment Tool for Floating Offshore Wind Power Plants

Introduction. Requirements Engineering: Why RE? What is RE? How to do RE? -> RE Processes. Why RE in SysE? Case Studies and The Standish Report

Developing Methods to Design for Evolvability: Research Approach and Preliminary Design Principles

Towards Understanding Software Evolution: One-Line Changes

Walt Scacchi Institute for Software Research University of California, Irvine Irvine, CA USA

Patterns of Component Evolution

Growth and Change Dynamics in Open Source Software Systems

THE GAME THEORY OF OPEN-SOURCE SOFTWARE

Towards a Software Engineering Research Framework: Extending Design Science Research

A FORMAL METHOD FOR MAPPING SOFTWARE ENGINEERING PRACTICES TO ESSENCE

Using Software Metrics to Better Understand Complexity Growth during Software Evolution

Digital Engineering Support to Mission Engineering

arxiv: v1 [cs.ne] 3 May 2018

Comparative Analysis Between Fuzzy and PID Control for Load Frequency Controlled Power

ISSN: (Online) Volume 4, Issue 4, April 2016 International Journal of Advance Research in Computer Science and Management Studies

Modelling the Dependability of Free and Open Source Software: A Quantitative Approach

Understanding the Open Source Software Community

Modeling Software Evolution by Treating History as a First Class Entity

INNOVATION NETWORKS IN THE GERMAN LASER INDUSTRY

Open Research Online The Open University s repository of research publications and other research outputs

Design and Development of an Optimized Fuzzy Proportional-Integral-Derivative Controller using Genetic Algorithm

202: Dynamic Macroeconomics

Towards a New IP Consciousness in Universities and R&D Institutions: Case Show

Privacy as Impression Management

University of Dundee. Design in Action Knowledge Exchange Process Model Woods, Melanie; Marra, M.; Coulson, S. DOI: 10.

CALL FOR PAPERS. embedded world Conference. -Embedded Intelligence- embedded world Conference Nürnberg, Germany

Panel 3: Technology Transfer and Development

Why we need a Network of Usage Data Providers - OpenAIRE Impact Metrics Results

Modeling Enterprise Systems

Strategy for a Digital Preservation Program. Library and Archives Canada

EAB Engineering Accreditation Board

MULTIPLEX Foundational Research on MULTIlevel complex networks and systems

VIVO + ORCID = a collaborative project

About Software Engineering.

A Parametric Model for Spectral Sound Synthesis of Musical Sounds

João Cadete de Matos. João Miguel Coelho Banco de Portugal Head of the Current and Capital Accounts Statistics Unit

An Empirical Study on the Fault-Proneness of Clone Migration in Clone Genealogies

The Geotechnical Data Journey How the Way We View Data is Being Transformed

A Comprehensive Study of Software Forks: Dates, Reasons and Outcomes

Co-evolution of agent-oriented conceptual models and CASO agent programs

A Dynamic Analysis of Internationalization in the Solar Energy Sector: The Co-Evolution of TIS in Germany and China

Filtering Joystick Data for Shooter Design Really Matters

Playware Research Methodological Considerations

Evaluation of a Digital Library System

Population Adaptation for Genetic Algorithm-based Cognitive Radios

CONCURRENT ENGINEERING READINESS ASSESSMENT OF SUB-CONTRACTORS WITHIN THE UK CONSTRUCTION INDUSTRY

On the Evolution of Lehman s Laws

SITUATED CREATIVITY INSPIRED IN PARAMETRIC DESIGN ENVIRONMENTS

Tourism network analysis 1

Software Evolvability Measurement Framework during an Open Source Software Evolution

Technical Support to Defence Spectrum LTE into Wi-Fi Additional Analysis. Definitive v1.0-12/02/2014. Ref: UK/2011/EC231986/AH17/4724/V1.

DECENTRALISED LABORATORIES OF INNOVATIONS

Report accompanying D4.6: Software Tools Catalogue

Fast Detour Computation for Ride Sharing

Measuring Romania s Creative Economy

Using Administrative Records for Imputation in the Decennial Census 1

Constant Learning: (Learning for Development) Patrick Doogue, Group Sales Manager 23 October, 2017

The Evolution Matrix: Recovering Software Evolution using Software Visualization Techniques

LEAN NPI AT OPTIMUM DESIGN ASSOCIATES: PART 2 WHAT IS LEAN NPI AND HOW TO ACHIEVE IT

Introduction to the Special Section General Theories of Software Engineering: New advances and implications for research

April 2015 newsletter. Efficient Energy Planning #3

Contribution of the support and operation of government agency to the achievement in government-funded strategic research programs

Journal Title ISSN 5. MIS QUARTERLY BRIEFINGS IN BIOINFORMATICS

INNOVATION AND ECONOMIC GROWTH CASE STUDY CHINA AFTER THE WTO

Strategic Decision Support using Computerised Morphological Analysis

June Phase 3 Executive Summary Pre-Project Design Review of Candu Energy Inc. Enhanced CANDU 6 Design

THREAT ANALYSIS FOR THE TRANSPORT OF RADIOACTIVE MATERIAL USING MORPHOLOGICAL ANALYSIS

Engaging Stakeholders

IAASB Main Agenda (May 2006) Page Materiality and Misstatements

Agent-Based Modeling Tools for Electric Power Market Design

Interrelations between institutions and technology

Open Research Online The Open University s repository of research publications and other research outputs

A Test Bed for Verifying and Comparing BIM-based Energy Analysis Tools

Transcription:

Evolution in Free and Open Source Software: A Study of Multiple Repositories Karl Beecher, University of Lincoln, UK Freie Universität Berlin Germany 25 September 2009

Outline Brief Introduction to FOSS Observations Questions Approach & Results Interpretation & Conclusions Further Work

Brief Introduction to FOSS Free or Open Source Software The freedom to run the program, for any purpose The freedom to change the program to make it do what you wish The freedom to redistribute copies The freedom to release your improvements to the public

Brief Introduction to FOSS II Anything more to be said about FOSS? Raymond observations and tips on FOSS development [Ray01] Godfrey & Tu growth of software [God00] Mockus et al structure of distributed development teams [Moc02] German software archaeology Capiluppi FOSS evolution [Cap04]

Observations Preliminary research that led to the formation of the problem.

Observations II Plenty of non-empirical work. Many works examining one or a small number of deliberately chosen FOSS projects. FOSS collections rarely studied. Most works using endogenous characteristics of software. Exogenous characteristics rarely studied.

Questions The research problem phrased as some unresolved questions requiring investigation.

Questions II Are FOSS projects influenced by the environment in which they are developed? communities/repositories [Sca04] Can an evidence-based framework be developed to describe the effects?

Approach and Results The method developed to answer these research questions. The outcome of the investigations.

Preliminary Study A selection of five FOSS repositories. Differing levels of prestige, i.e. barriers to entry, organizational control, quality requirements, wideness of distribution. A randomized sample of 50 projects per repository downloaded (historical). Evolutionary metrics of projects: Average monthly number of developers and commits Size Age

Preliminary Study - Repositories Debian GNOME KDE Savannah SourceForge

Preliminary Study - Results The repositories appeared to group for many of the measures: Group 1: Debian, GNOME and KDE. Group 2: Savannah and SourceForge. Group 1 had more successful evolutionary attributes than group 2.

Taking the Study Further [Bee09] Questions: Were the differences significant, or were they the results of statistical noise? Is the grouping valid? Approach for first investigation: Each repository sample couple compared using statistical significance testing. (Wilcoxon unpaired rank-sum test with Bonferroni correction.)

Taking the Study Further II Results of the statistical significance test revealed: Differences between Group 1 and Group 2 were significant in a majority of cases. Furthermore: KDE and GNOME samples demonstrated notable similarity, as did Savannah and SourceForge samples. Within Group 1, Debian sample attributes were more successful than others, a little more often than not.

Next Investigation Evolutionary Study [Bee07, Cap09] In each repository, where is the evolutionary effort going? Lehman tells us that software complexity must be controlled for it to evolve satisfactorily. Do more evolved projects receive greater amounts of such complexity control work? Furthermore: Debian is a distribution. Some projects in the other repositories transit into Debian. Can we observe a transition effect?

Evolutionary Study II Sub-sample of projects from each of the 5 repositories, 3 historical snapshots, equally spaced FP MP LP Sub-sample of Debian projects only, 3 historical snapshots, based on insertion into Debian FP IP LP Rate of commits and developers Rate of control work done for McCabe complexity and functional instability

Evolutionary Study Results FP MP MP LP Debian 7.3% 5.5% GNOME 6.1% 6.6% KDE 7.7% 8.2% Savannah 2.7% 2.8% SourceForge 1.5% 0.8% Average percentage of functions receiving work done to reduce instability in the period described.

Evolutionary Study Results For projects from Debian sample: Rate of developers: FP IP < IP LP for 82% of projects. Remaining projects stayed the same. Rate of commits: FP IP < IP LP for 55% of projects. Remaining project stayed the same or decreased. Product measures (McCabe & functional instability): 2/3 of projects received greater rates of complexity control work after IP (both measures) 1/6 received greater rates in only one measure The remainder saw no increase.

Interpretation and Conclusions What does the work conclude? How can the results be interpreted? In particular, can they be modeled/formalized?

Interpretations and Conclusions II Chosen repositories are divided according to measured attributes of projects. Evidence supports the view that they are an environmental factor in project evolution. Repositories are similar according to both the measured attributes and prestige.

Evolutionary Framework

Further Work Enriching data sets. Widen repository collection. More formal deliverables. Evaluation and diagnosis for evolvability: Automatic/semi-automatic analysis. Identification of poorly evolving areas. Diagnosis for improving evolution.

Further Resources http://cross.lincoln.ac.uk Home of the CROSS team (inc. Cornelia Boldyreff, Andrea Capiluppi, Paul Adams and me). http://floss-ori.org New research initiative for providing open access to FOSS research, a central point for knowledge exchange, and a crossover between academia and industry. http://www.floss.lincoln.ac.uk Personal blog for (mostly) FOSS work.

References [Bee07] K Beecher, C Boldyreff, A Capiluppi, and S Rank. Evolutionary success of open source software: An investigation into exogenous drivers. Electronic Communications of the EASST, 8, http://www.easst.org/eceasst, 2008. Reprinted. Originally published in the Proceedings of the ERCIM Symposium on Software Evolution, co-located with the ICSM 2007 Conference, 2007. [Bee09] K Beecher, A Capiluppi, and C Boldyreff. Identifying exogenous drivers and evolutionary stages in floss projects. Journal of Systems and Software, 82:739 750, May 2009. [Cap07] A Capiluppi and M Michlmayr. From the cathedral to the bazaar: An empirical study of the lifecycle of volunteer community projects. In Proceedings of the 3rd International Conference on Open Source Systems, Limerick, Ireland, June 2007. [Cap09] A Capiluppi, K Beecher. Structural complexity and decay in FLOSS systems: an interrepository study. Proceedings of the 13th European Conference on Software Maintenance and Reengineering, Kaiserslautern, Germany, 2009. [God00] M Godfrey and Q Tu. Evolution in open source software: A case study. In Proceedings of 16th IEEE Int. Conf. on Software Maintenance, San Jose, California, USA, October 2000. [Moc02] A Mockus, R Fielding, and J Herbsleb. Two case studies of open source software development: Apache and mozilla. ACM Transactions of Software Engineering and Methodology, pages 309 364, July 2002. [Ray01] ERaymond. The cathedral and the bazaar. In The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. O Reilly, 2001. [Sca04] W Scacchi. Free/open source software development practices in the computer game community. IEEE Software, pages 59 66, January 2004.

Thank you for your attention.