Multi-Modal Modeling, Analysis, and Validation of Open Source Software Development Processes



Similar documents
Understanding and Improving Software Productivity

Data Mining for Software Process Discovery in Open Source Software Development Communities

Modeling and Simulating Free/Open Source Software Development Processes

Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes

Collaboration, Leadership, Control, and Conflict Negotiation in the Netbeans.org Community

Free/Open Source Software Development: Recent Research Results and Emerging Opportunities

Understanding Best Practices in Free/Open Source Software Development

PROCESS STATE INFERENCE FOR SUPPORT OF KNOWLEDGE INTENSIVE WORK

John Noll, Ph.D. Research Associate, ATRIUM Laboratory, Marshall School of Business, University of Southern California,

The Virtual Organizational Culture of a Free Software Development Community

What is a life cycle model?

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Governance in Open Source Software Development Projects: A Comparative Multi- Level Analysis

Governance in Open Source Software Development Projects: A Comparative Multi-level Analysis

Objectiver. A power tool to engineer your technical and business requirements!

Driving Your Business Forward with Application Life-cycle Management (ALM)

Development Testing for Agile Environments

Ensure Merge Accuracy in Continuous Integration Development Environments

Centrify Server Suite Management Tools

Software Configuration Management (SCM)

JOURNAL OF OBJECT TECHNOLOGY

Modeling Recruitment and Role Migration Processes in OSSD Projects

Management of the Open Source Software Requirements. Kati Koistinen

Innovation in Open Source Software Development

Oracle Real Time Decisions

Agile Requirements Definition for Software Improvement and Maintenance in Open Source Software Development

Requirements Engineering Process

Automatic promotion and versioning with Oracle Data Integrator 12c

Analysis of Object Oriented Software by Using Software Modularization Matrix

Strategic solutions to drive results in matrix organizations

SOCIAL MEDIA MEASUREMENT: IT'S NOT IMPOSSIBLE

CDC UNIFIED PROCESS PRACTICES GUIDE

F/OSSSD Modeling and Simulation

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Continuous integration End of the big bang integration era

VAIL-Plant Asset Integrity Management System. Software Development Process

Open Acquisition: Combining Open Source Software Development with System Acquisition Final Report

IDW -- The Next Generation Data Warehouse. Larry Bramblett, Data Warehouse Solutions, LLC, San Ramon, CA

Implementing Continuous Integration Testing Prepared by:

IBM Rational Asset Manager

Increasing Development Knowledge with EPFC

Software Engineering Reference Framework

Next-Generation Performance Testing with Service Virtualization and Application Performance Management

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

Solving the Software Quality Challenges of Agile Development

TIME. Programming in the large. Lecture 22: Configuration Management. Agenda for today. About your Future. CM: The short version. CM: The long version

Continuous Integration

Tech Notes. Corporate Headquarters EMEA Headquarters Asia-Pacific Headquarters 100 California Street, 12th Floor San Francisco, California 94111

Integrating Application Security into the Mobile Software Development Lifecycle. WhiteHat Security Paper

Software Development Training Camp 1 (0-3) Prerequisite : Program development skill enhancement camp, at least 48 person-hours.

Work Experience HP ALM (Quality Center), Bugzilla

ALM Solutions using Visual Studio TFS 2013 ALMI13; 5 Days, Instructor-led

WebSphere Business Modeler

Reaching CMM Levels 2 and 3 with the Rational Unified Process

eresearch Australasia 2007

Integrating CA Software Change Management with CA Service Desk Manager for Enterprise Change Control

NetBeans IDE Field Guide

Pro/INTRALINK 9.0/9.1 Curriculum Guide

Maven or how to automate java builds, tests and version management with open source tools

Collaboration Practices and Affordances in Free/Open Source Software Development

Requirements Engineering Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 7 Slide 1

Using TechExcel s DevSuite to Achieve FDA Software Validation Compliance For Medical Software Device Development

HP Systinet. Software Version: Windows and Linux Operating Systems. Concepts Guide

Contents. Introduction... 1

Better planning and forecasting with IBM Predictive Analytics

Demand Response Management System ABB Smart Grid solution for demand response programs, distributed energy management and commercial operations

The role of integrated requirements management in software delivery.

OpenEC/B: Electronic Commerce and Free/Open Source Software Development

Configuration Management. Xin Feng

eorgette ullivan Portfolio

Book Summary: The Benefits of Collaborative Software Engineering

Successfully managing geographically distributed development

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

How to bridge the gap between business, IT and networks

Meister Going Beyond Maven

White Paper. Software Development Best Practices: Enterprise Code Portal

Service Oriented Architecture

The Benefits of Utilizing a Repository Manager

Best Overall Use of Technology. Jaspersoft

Continuous Integration Processes and SCM To Support Test Automation

Cisco Nexus Data Broker: Deployment Use Cases with Cisco Nexus 3000 Series Switches

Test Management Tools

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

DELL Remote Access Configuration Tool

Continuous Integration (CI)

Introduction to Software Configuration Management. CprE 556 Electrical and Computer Engineering Department Iowa State University

Continuous Integration (CI) for Mobile Applications

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Release Management Within Open Source Projects

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Design Document Version 0.0

Web application security: automated scanning versus manual penetration testing.

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8

A Review On Authoring Tools

Steady as She Goes. How the VIVO developers work to deliver a stable platform

Application Lifecycle Management: Marriage of Business Management with Software Engineering

Improving database development. Recommendations for solving development problems using Red Gate tools

LECTURES NOTES Organisational Aspects of Software Development

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Software Development In the Cloud Cloud management and ALM

Transcription:

Multi-Modal Modeling, Analysis, and Validation of Open Source Software Development Processes Walt Scacchi, Chris Jensen, John Noll, and Margaret Elliott Institute for Software Research University of California, Irvine Irvine, CA, 92697-3425 USA www.isr.uci.edu/research-open-source.html

Motivation Goal: Discover hidden processes within largescale, global, loosely-coordinated open source software development (OSSD) projects. Thousands of project participants Developing, managing, and evolving over one million knowledge artifacts Weakly coordinated by centralized authorities All data are open source 2

Motivation Discover, model, re-enact, and repair OSSD processes Recognize process context, participant roles, tools, resources, interdependencies within and across projects over the Web Why? Software development organizations and OSSD projects don t know their processes Companies and new OSSD projects want to adopt OSSD best practices Process improvement, optimization, redesign, or transformation requires knowledge of processes 3

Overview Process discovery Process modeling Process re-enactment Discussion Conclusions 4

Process discovery Participant observation (online, Web-based ethnography) Collection and annotation of participant created/modified artifacts Objects of interaction How objects are situated in facilitating collaboration, conflict, or conflict mitigation Tracking artifacts added or modified in response to intra-community or inter-community dynamics Automated process data mining, categorization, and composition 5

Annotated chat transcript <CB> Hello (Outsider Critique-1 <CB> Several images on the website seem to be made with non_free Adobe software, I hope I'm wrong: it is quite shocking. Does anybody know more on the subject? <CB> We should avoid using non_free software at all cost, am I wrong? (Extreme belief in free software (BIFS)-1) <CB> Anyone awake in here? Outsider Critique-1) 6

Modeling OSSD Processes Rich Pictures -- overall scenarios and stakeholders Use cases -- hyperlinked from Rich Pictures Attributed flow graphs -- process control flow, data flow, role and tool bindings Process meta-model -- provides formal reference model and ontology Computational process models -- formal representations that can be executed or re-enacted Ethnographic hypermedia -- Web-based documents that include above representations, links to source data, and analytical narrative. 7

Rich Picture Sun Microsystems Funds, support, Promote Java/Open source Configure and maintain CVS CVS Manager Manage website Site Administrator Maintainer Download and use free software Users deploy builds grant access Link to all Use Cases Maintain a project/ module, manage a group of developers Community Manager download new release report bugs decide features for the project and merge patches/bug fixes, create module web page grant CVS commit privilege to developers Share knowledge and ensure all community issues are addressed respond to tech issues, unanswered questions Website CVS Tools The Board select feature to develop, bug to fix, download netbeans, commit code Mailing Lists IssueZilla Contribute to community, meet time constraints for the release Link to Tools Ensure that the netbeans community is being run in a fair and open manner make decisions for the community, on high level SourceCast Start new release phase, propose schedule/plan Release Manager release proposal, release updates, branch for current release, release post mortem, review release candidates (2) & decide final release download development builds and test, release Q- builds QA Team Produce Q- builds and ensure quality of the software Developers/ Contributors 8 Links to all Agents

Test Builds The QA team tests the latest nightly builds every Friday QA team executes a set of manual tests on the builds as well as some sanity checks Test results are categorized as Bug Types User Constraint: The tests depend on the manual tests specification System Constraint: Not all bugs may be identified Figure 2. A hyperlink selection within a rich hypermedia presentation that reveals a corresponding use case. 9

10

NetBeans 11

Process re-enactment Generating executable or re-enactable process specifications derived from ontology Low-fidelity process re-enactment support We don t try to model everything Focus on resource flow patterns Accommodate gaps and detect inconsistencies in process enactment models Re-enactments are interactive, navigational, and grounded in artifacts, tools, roles, and resource dependencies resulting from discovery and modeling 12

Formal model of an OSSD process coded in PML (excerpt)... sequence Test { action Execute automatic test scripts { requires { Test scripts, release binaries } provides { Test results } tool { Automated test suite (xtest, others) } agent { Sun ONE Studio QA team } script { /* Executed off-site */ } } action Execute manual test scripts { requires { Release binaries } provides { Test results } tool { NetBeans IDE } agent { users, developers, Sun ONE Studio QA team, Sun ONE Studio developers } script { /* Executed off-site */ } } iteration Update Issuezilla { action Report issues to Issuezilla { requires { Test results } provides { Issuezilla entry } tool { Web browser } agent { users, developers, Sun ONE Studio QA team, Sun ONE Studio developers } script { <br><a href="http://www.netbeans.org/issues/">navigate to Issuezilla </a> <br><a href="http://www.netbeans.org/issues/query.cgi">query Issuezilla </a> <br><a href="http://www.netbeans.org/issues/enter_bug.cgi">enter issue </a> } } 13

PML validation analysis Summary of analysis for netbeans_req_release.pml Model size (source lines): 307 Actions: 36 Resources: 72 Actions neither requiring nor providing resources: 1 Resources required but not provided (potential inputs): 0 Resources provided but not required (potential outputs): 0 Miracles: 2 Black holes: 6 Transformations: 30 14

15

16

Discussion Socio-technical and cultural evolution processes Validation strategies and tactics Implications for discovering, modeling and re-enacting OSSD processes 17

Socio-technical and cultural evolution processes New processes under study Joining and contributing to a project in progress Role-task migration: from project periphery to center Alliance formation and community development Independent and autonomous project communities can interlink via social networks that manipulate objects of interaction Enables possible exponential growth of interacting and interdependent community as socio-technical interaction network 18

Validation strategies and tactics Multi-mode modeling Collection and annotation of artifacts Rich pictures with hyperlinked Use Case scenarios Directed and attributed resource flow graph Process domain ontology construction Simulated process re-enactment Process model language generated from ontology PML compiled into re-enactment environment Automated PML source validation Simulated walkthrough of process Integration via ethnographic hypermedia Open to independent validation and interactive traceability 19

Implications for discovering, modeling and re-enacting OSSD processes Discovering, modeling, and understanding hidden software processes in large OSSD projects requires semi-automated process discovery techniques must span multi-project ecosystem Discovered processes (still) need to be modeled as narrative, hypermedia, and formal computational models. Understanding large, aggregated Internet-based projects requires process discovery, modeling tools, re-enactment and validation techniques. 20

Conclusions We examine open source software development processes within and across multiple projects spanning multiple loosely-coupled communities. OSSD process patterns are continuously emerging, but can be detected, modeled, analyzed, simulated and re-enacted. Multi-modal modeling techniques are needed to study complex socio-technical processes found in OSSD. Discovering, modeling, validating, and re-enacting hidden processes within and across multiple interdependent projects is challenging and important. 21

Acknowledgements Project collaborators: Darren Atkinson, Santa Clara University Mark Ackerman, University of Michigan, Ann Arbor Les Gasser, University Illinois, Urbana- Champaign and others at UCI-ISR Funding support (no endorsement implied): National Science Foundation #0083075, #0205679, #0205724, and #0350754. 22