An Approach to Discovering Processes in OSS Projects Chris Jensen Institute for Software Research...
-
date post
21-Dec-2015 -
Category
Documents
-
view
215 -
download
1
Transcript of An Approach to Discovering Processes in OSS Projects Chris Jensen Institute for Software Research...
An Approach to Discovering
Processes in OSS Projects
Chris JensenInstitute for Software ResearchUniversity of California, Irvine
Irvine, CA [email protected]
http://www.ics.uci.edu/~cjensen/papers/Jensen-Scacchi-SPIP03.pdf
Introduction Goal:
Demonstrate the feasibility to automate the discovery of process workflows via manual search and analysis tools in open source software development communities
Motivation Manual simulation provides insight into:
The feasibility of an automated approach Techniques for implementation
Without: Costly, high-risk investment
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 Update patterns
Our Study Phase1: reference model Phase2: project history: development in
context Phase3: process-fragment mining
relevancy issues Phase4: process modeling, prototyping Phase5: analysis
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 SourceCas
t
Tools
Link to Tools
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
Lessons 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
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