14
Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software Research University of California, Irvine Irvine, CA 92697-3425 [email protected] , [email protected]

Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Embed Size (px)

Citation preview

Page 1: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Simulating an Automated Approach to Discovery and Modeling of Open Source

Software Development Processes

Chris Jensen and Walt Scacchi

Institute for Software Research

University of California, Irvine

Irvine, CA 92697-3425

[email protected], [email protected]

Page 2: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Introduction

Goal: Demonstrate the feasibility to automate the

discovery of process workflows via manual search and analysis tools in open source software development communities

Page 3: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Motivation

Manual simulation provides insight into: The feasibility of an automated approach Techniques for implementation

Without: Costly, high-risk investment

Page 4: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

A Directed Approach

Domain: large scale online open source software development (OSSD) projects Short duration, frequent enactment, and a

propensity for available evidence

Contextual clues guide process discovery Project Web information structure Site contents Usage patterns

Page 5: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Our Study

Phase1: reference model

Phase2: project history: development in context

Phase3: use-case mining Relevancy issues

Phase4: process modeling, prototyping

Phase5: analysis

Page 6: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Sun Microsystems

The Board Release Manager

Maintainer Developers/ Contributors

Website

Mailing Lists

Users

Contribute to community

, Meet time constraints for the release

Maintain a project/ module, manage a group of developers

ensure that the netbeans community is being run in a fair and open manner

Start new release phase, propose schedule/plan

Download and use free software

CVS

Funds, support, Promote Java/Open source

IssueZilla

QA team

Produce Q builds and ensure quality of the software

Release proposal, Release updates,

branch for current release, release post mortem,

review Release Candidates & decide final release

download development builds and test

, Release Q-builds

Download new release

report bugs

Select feature to develop

, bug to fix, download netbeans,

commit code

decide features for the project and merge patches/bug fixes

, create module web page

make decisions for the community, on high level

grant CVS commit privilege to developers

Link to all Use cases Links to all Agents

CVS Manager

Configure and Maintain CVS

Grant Access

Site Administrator

Manage website

Deploy Builds SourceCast

Tools

Link to Tools

Page 7: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Release candidate 2

Release candidate 1

Development build

Q build

Release Manager

source code

Module maintainer

QA Team

Test(Netbeans)

User

Use (Netbeans, Issuezilla)

List of bugs to

fix

Final release

Developer

Write bug fix

(Netbeans)

Check(Netbeans, Mailing list)

Module plan

Roadmap

Decide future release dates

Determine project features

(Mailing list)

Schedule Releaseproposal

Start a new release phase (Mailing list)

Determine main features

(Mailing list)

Build(CVS scripts)

Board member Release Manager

Netbeans Web Site

Create module web page(Web site)

List of bugs

Release information update

(SourceCast)

Check(Netbeans, Mailing list)

Check(Netbeans, Mailing list)

Decide which bugs to fix (Issuezilla)

Site administrator

Download links(SourceCast)

Module Web Page

Page 8: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Towards a Formal Model

Page 9: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software
Page 10: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software
Page 11: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Lessons Learned

Information availability Web pages, asynchronous communication via threaded

communication lists, software product source code, development tools, development resources, OSS extension mechanisms

Granularity ControlProcess Validation Inconsistency between prescriptions and implementation

Accountability for Evolution Need for temporal locality indication for process

footprints

Page 12: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Prognosis

What makes us believe such an approach could actually work? Frequent iteration of a small number of tasks Tasks performed lend themselves to automation

Keyword search of domain-related terms Existence of technological enablers

Web Data Mining, Probabilistic Relational Modeling

Page 13: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

The End

Questions?

Page 14: Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development Processes Chris Jensen and Walt Scacchi Institute for Software

Results

Reconstructing process fragments Rich Picture Macro-view process diagram Formal Model

PML → Protégé-2000 Ontology→ ? Process prototype