TWO CASE STUDIES OF OPEN SOURCE SOFTWARE DEVELOPMENT: APACHE AND MOZILLA HAKAN TERZIOGLU 2/24/2019 EEL 5881.

Slides:



Advertisements
Similar presentations
Two Case Studies of Open Source Software Development: Apache and Mozilla By Helen Gower, Drew Spencer, Mila Reid, Nigel Macarthur & Mohamed Hossain.
Advertisements

Chapter 4 Quality Assurance in Context
1 Soar Bugzilla Jonathan Voigt University of Michigan Soar Workshop 24.
When will our bugs be fixed? When will our new features be added? When will the next release come out? Is my server up-to-date? Users Committers Program.
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
Capability Maturity Model
CS4723 Software Validation and Quality Assurance Lecture 9 Bug Report Management.
Evolution Patterns of Open-Source Software Systems and Communications Review Report By Haroon Malik.
1 Project 7: My Photo Album Graded Project. 2 Assignment Write a web app to permit users to upload and view photos. User can keep up to five photos on.
System Analysis and Design
N By: Md Rezaul Huda Reza n
Does Distributed Development Affect Software Quality???? An Empirical Case Study of Windows Vista Christian Bird, Premkumar Devanbu, Harald Gall, Brendan.
Article: Source Code Review Systems Author: Jason Remillard Presenter: Joe Borosky Class: Principles and Applications of Software Design Date: 11/2/2005.
Software Testing Life Cycle
Identifying Reasons for Software Changes Using Historic Databases The CISC 864 Analysis By Lionel Marks.
AASHTOWare Beta Testing An Agency’s Perspective and Responsibilities Shirley Daugherty Nebraska Department of Roads.
Tracking The Problem  By Aaron Jackson. What’s a Problem?  A suspicious or unwanted behavior in a program  Not all problems are errors as some perceived.
1 Two case studies of Open Source Software Development: Apache and Mozilla Audris Mockus Roy Fielding James D Herbsleb.
Chapter 14 The Open Source Community. Agenda Types of Free Software Open Source Project Open Hardware Project Impacts.
1 The FreeBSD Project: a Replication Case Study of Open Source Development.
ITIL® Core Concepts “Foundations to the Framework” Thatcher Deane 02/12/2010.
| See the possibilities… ePace Support Process Review Fusion 08 Reece Abreo.
Open Source Project Development – A case study - CSC8350, 4/07/ Instructor: Xiaolin Hu - Presenters: Fasheng Qiu & Xue Wang.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Developers Users Committers How do I configure this now? Just one more fix and I am done! CVS Download/Use Software Submit problems/ request features Store.
1 February 6, Patch Submission and Review Process William Cohen NCSU CSC 591W February 11, 2008.
Open source development model and methodologies.
Open Source Software Development
Introduction to CAST Technical Support
Configuration Management
Why Open Source Works Jim Herbsleb School of Computer Science
Software Configuration Management
Essentials of UrbanCode Deploy v6.1 QQ147
Overview Blogs and wikis are two Web 2.0 tools that allow users to publish content online Blogs function as online journals Wikis are collections of searchable,
Open Source Software Development
Quality Assurance Week 5 Winter quarter 02/04/02 SOS
CS 389 – Software Engineering
The Organisation As A System An information management framework
SCEC Drupal Website Development Overview and Status
Moving to Epicor ERP version 10: Experiences so far
Configuration Management
Different Types of Testing
IEEE MEDIA INDEPENDENT HANDOVER DCN:
AgilizTech Support Desk Overview
THE STEPS TO MANAGE THE GRID
Design and Implementation
IS442 Information Systems Engineering
Intermacs Web-Based Reporting: Outcome Analytics Overview and Instructions for Downloading Reports Intermacs Data Coordinating Center.
Accreditation Pathway
Chapter 2 – Software Processes
Introduction to CAST Technical Support
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill, 2011 Stephen R. Schach.
Foundations of Planning
Software project mgt. session # 3– lab manual.
SELinux (Security Enhanced Linux)
Quality Measurable characteristic Cyclomatic complexity Cohesion
Open Source Software Development Processes Version 2.5, 8 June 2002
Capability Maturity Model
CS5123 Software Validation and Quality Assurance
Key Value Indicators (KVIs)
GT Portal v. 2.0 Data Delivery
TriFoil System Overview From Global Directions, Inc.
Capability Maturity Model
Comparing Two Proportions
Comparing Two Proportions
Copyright © 2005 Prentice Hall, Inc. All rights reserved.
Where We Are Now 14–2. Where We Are Now 14–2 Major Tasks of Project Closure Evaluate if the project delivered the expected benefits to all stakeholders.
Project Management and the Organization
Chapter 13: Project Stakeholder Management
Outline Announcements: Version control with CVS HW II due today!
Presentation transcript:

TWO CASE STUDIES OF OPEN SOURCE SOFTWARE DEVELOPMENT: APACHE AND MOZILLA HAKAN TERZIOGLU 2/24/2019 EEL 5881

OSS development– characteristics? Differences between OSS development and usual industrial style of dev. Number of participants Assignment of work No explicit system-level design No project plan, schedule, or list of deliverables 2/24/2019 EEL 5881

OSS development-contd. Lack of coordination mechanisms? What are the possible reasons for the success of OSS development? Linus’s Law: ‘Many eyeballs’ looking for the problems Developers have real fashion 2/24/2019 EEL 5881

OSS development Linux Apache – the most widely deployed Web server (> 7 million Web sites) We need empirical evidence 2/24/2019 EEL 5881

Article structure Study of the Apache server (Study I) Hypotheses formed according to the results of Study I Study of the Mozilla project The data will be checked if they support the hypotheses formed 2/24/2019 EEL 5881

Research questions Two key sets of properties will be focused by the questions Basic parameters of the process by which Apache and Mozilla came to exist The outcomes of these processes 2/24/2019 EEL 5881

Research questions-contd. First set of questions: Q1:What were the processes used to develop Apache and Mozilla? Q2:How many people wrote code for new functionality? How many people reported problems? How many people repaired defects? 2/24/2019 EEL 5881

10/1/2002 First set of questions- contd. Q3:Were these functions carried out by distinct groups of people, that is, did people primarily assume a single role? Did large numbers of people participate somewhat equally in these activities, or did a small number of people do most of the work? Q4:Where did the code contributors work in the code? Was strict code ownership enforced on a file or module level? 2/24/2019 EEL 5881

Research questions-contd. Second set of questions: Q5:What is the defect density of Apache and Mozilla code? Q6:How long did it take to resolve problems? Were the high priority problems resolved faster than low priority problems? Has resolution interval decreased over time? 2/24/2019 EEL 5881

Data Sources Apache Data Sources Mozilla Data Sources Developer Email List(EMAIL) Concurrent Version Control Archive(CVS) Problem Reporting Database (BUGDB) Mozilla Data Sources CVS Archive Bugzilla problem tracking system 2/24/2019 EEL 5881

Data Sources-contd. Commercial Projects Data Sources Extended Change Management System (ECMS)-for initiating and tracking Source Code Control system (SCCS)-for managing different versions of the files 2/24/2019 EEL 5881

Commercial Development Process Projects chosen for the comparison Why they were chosen? Size of them Familiarity of the authors with these projects 2/24/2019 EEL 5881

Study I: The Apache Project: The Apache Development Process Q1:What was the process used to develop Apache? Roles and Responsibilities Identifying Work to be Done Assigning and Performing Development Work Prerelease Testing Inspections Managing Releases 2/24/2019 EEL 5881

The Apache Development Process Quantitative Results The size of the Apache Development Community? (Q2) Participation is quiet wide:400 individuals contributing the code 182 people contributed to 695 fixes 249 people contributed to 6092 code submissions 3060 people submitted 3975 PRs-whereas 458 individuals submitted 591 reports that caused a change in the code 2/24/2019 EEL 5881

The Apache Development Process Quantitative Results-contd. How was work distributed within the Development Community? The top 15 developers contributed more than 83% of the MRs and deltas, 88% of added lines, and 91% of deleted line The core of 15 developers produced only 66% of the fixes The participation rate was 26 developers per 100 fixes and 4 developers per 100 code submissions 2/24/2019 EEL 5881

The Apache Development Process 2/24/2019 EEL 5881

The Apache Development Process Quantitative Results-contd. How was work distributed within the Development Community?-contd. Comparison of code productivity of Top Apache Developers and Top Developers in Several Commercial Projects 2/24/2019 EEL 5881

The Apache Development Process Quantitative Results-contd. Who reports problems? The BUGDB had 3975 distinct PRs. 2600 developers submitted one report, 306 submitted two, 85 submitted three, and the maximum number of PRs submitted by one person was 32. Of the top 15 problem reporters only three are also core developers. 2/24/2019 EEL 5881

The Apache Development Process Code ownership Defects Measure of post-release defects—disadvantages? KLOCA (defects per thousand lines of code added) 2/24/2019 EEL 5881

The Apache Development Process Defect density results The user-perceived defect density of the Apache product is inferior to that of the commercial products. Defect density of the code before system test is much lower. 2/24/2019 EEL 5881

The Apache Development Process Time to Resolve Problem Reports 50% within a day, 75% within 42 days, 90% within 140 days 2/24/2019 EEL 5881

The Apache Development Process Priority In Apache BUGDB, the priority field is entered by the person reporting the problem Categorizing the PRS which reflect the number of users affected 2/24/2019 EEL 5881

The Apache Development Process Hypotheses #1:Open source developments will have a core of developers who control the code base. This core will be no larger than 10 to 15 people, and will create approximately 80% or more of the new functionality. #2:For projects that are so large that 10 to 15 developers cannot write 80% of the code in a reasonable time frame, a strict code ownership policy will have to be adopted to separate the work of additional groups, creating in effect, several related OSS projects. 2/24/2019 EEL 5881

The Apache Development Process Hypotheses-contd. #3:In successful open source developments, a group larger by an order of magnitude than the core will repair defects, and a yet larger group will report problems. #4:Open source developments that have a strong core of developers but never achieve large numbers of contributors beyond that core will be able to create new functionality but will fail because of a lack of resources devoted to finding and repairing defects. 2/24/2019 EEL 5881

The Apache Development Process Hypotheses-contd. #5:Defect density in open source releases will generally be lower than commercial code that has only been feature-tested, that is, received a comparable level of testing. #6:In successful open source developments, the developers will also be users of the software. #7:OSS developments exhibit very rapid responses to customer problems. 2/24/2019 EEL 5881

STUDY II:THE MOZILLA PROJECT The Mozilla Development Process Roles and Responsibilities- mozilla.org staff Identifying work to be done Assigning and performing development work Pre-lease testing Inspections Managing releases 2/24/2019 EEL 5881

The Mozilla Development Process Quantitative Results The size of the Mozilla Development Community 486 people contributed the code and 412 people contributed code to PR fixes-CVS 6837 people reported about 58000 PRs and 1403 people reported 11616 PRs that make a change in the code 2/24/2019 EEL 5881

The Mozilla Development Process External participation 2/24/2019 EEL 5881

The Mozilla Development Process 2/24/2019 EEL 5881

The Mozilla Development Process Code ownership The module owner is responsible for fielding bug reports, enhancement requests, patch submissions, etc. So code ownership is enforced in Mozilla Project. 2/24/2019 EEL 5881

The Mozilla Development Process Defects 2/24/2019 EEL 5881

The Mozilla Development Process Time to resolve Problem Reports The mandatory inspection of changes in Mozilla almost doubles the PR resolution interval Significant relationship between interval and priority Substantial variation in the PR resolution interval by module 2/24/2019 EEL 5881

The Mozilla Development Process 2/24/2019 EEL 5881

HYPOTHESES REVISITED Open source developments will have a core of developers who control the code base, and will create approximately 80% or more of the new functionality. If this core group uses only informal ad hoc means of coordinating their work, the group will be no larger than 10 to 15 people. If a project is so large that more than 10 to 15 people are required to complete 80% of the code in the desired time frame, then other mechanisms,rather than just informal ad hoc arrangements, will be required in order to coordinate the work. These mechanisms may include one or more of the following: explicit development processes, individual or group code ownership, and required inspections. 2/24/2019 EEL 5881

HYPOTHESES REVISITED In successful open source developments, a group larger by an order of magnitude than the core will repair defects, and a yet larger group (by another order of magnitude) will report problems. Open source developments that have a strong core of developers but never achieve large numbers of contributors beyond that core will be able to create new functionality but will fail because of a lack of resources devoted to finding and repairing defects.-NOT ABLE TO TEST Defect density in open source releases will generally be lower than commercial code that has only been feature-tested, that is, received a comparable level of testing.-TENTATIVELY SUPPORTED In successful open source developments, the developers will also be users of the software. OSS developments exhibit very rapid responses to customer problems. 2/24/2019 EEL 5881