Title: An Approach to Discovering Processes in OSS Projects
1An Approach to Discovering Processes in OSS
Projects
- Chris Jensen
- Institute for Software Research
- University of California, Irvine
- Irvine, CA 92697-3425
- cjensen_at_ics.uci.edu
http//www.ics.uci.edu/cjensen/papers/Jensen-Scac
chi-SPIP03.pdf
2Introduction
- Goal
- Demonstrate the feasibility to automate the
discovery of process workflows via manual search
and analysis tools in open source software
development communities
3Motivation
- Manual simulation provides insight into
- The feasibility of an automated approach
- Techniques for implementation
- Without
- Costly, high-risk investment
4A 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
- Update patterns
5Our Study
- Phase1 reference model
- Phase2 project history development in context
- Phase3 process-fragment mining
- relevancy issues
- Phase4 process modeling, prototyping
- Phase5 analysis
6Funds, support, Promote Java/Open source
Sun Microsystems
Download and use free software
ensure that the netbeans community is being run
in a fair and open manner
Configure and Maintain CVS
Download new release
Start new release phase, propose schedule/plan
make decisions for the community, on high level
Release Manager
The Board
report bugs
Users
Release proposal, Release updates, branch for
current release, release post mortem, review
Release Candidates decide final release
Grant Access
CVS Manager
Mailing Lists
Manage website
Website
Tools
Deploy Builds
download development builds and test, Release
Q-builds
SourceCast
decide features for the project and merge
patches/bug fixes, create module web page
CVS
IssueZilla
Site Administrator
Select feature to develop, bug to fix, download
netbeans, commit code
QA team
Produce Q builds and ensure quality of the
software
Maintain a project/ module, manage a group of
developers
Contribute to community, Meet time constraints
for the release
grant CVS commit privilege to developers
Maintainer
Developers/ Contributors
Link to all Use cases
Links to all Agents
Link to Tools
7Board member
Release Manager
Module maintainer
Decide future release dates
Start a new release phase (Mailing list)
Determine project features (Mailing list)
Determine main features (Mailing list)
Create module web page (Web site)
Module Web Page
Release proposal
Module plan
Build (CVS scripts)
Roadmap
Schedule
Site administrator
source code
QA Team
Developer
Development build
Final release
Check (Netbeans, Mailing list)
Download links (SourceCast)
Write bug fix (Netbeans)
Test (Netbeans)
Netbeans Web Site
List of bugs to fix
Release candidate 2
Check (Netbeans, Mailing list)
Q build
Use (Netbeans, Issuezilla)
Release information update (SourceCast)
Release candidate 1
Decide which bugs to fix (Issuezilla)
Check (Netbeans, Mailing list)
List of bugs
User
Release Manager
8Towards a Formal Model
9(No Transcript)
10(No Transcript)
11(No Transcript)
12(No Transcript)
13Lessons Learned
- Information availability
- Web pages, asynchronous communication via
threaded communication lists, software product
source code, development tools, development
resources, OSS extension mechanisms - Granularity Control
- Process Validation
- Inconsistency between prescriptions and
implementation - Accountability for Evolution
- Need for temporal locality indication for process
footprints
14Prognosis
- 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
15The End
- Questions?
- For more information, see
- Jensen, Scacchi. Simulating an Automated Approach
to Discovery and Modeling of Open Source Software
Development Processes. - http//www.ics.uci.edu/cjensen/papers/Jensen-Scac
chi-SPIP03.pdf