Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development...
-
Upload
barry-sharp -
Category
Documents
-
view
221 -
download
0
Transcript of Simulating an Automated Approach to Discovery and Modeling of Open Source Software Development...
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
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 Usage patterns
Our Study
Phase1: reference model
Phase2: project history: development in context
Phase3: use-case 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 SourceCast
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
Towards a Formal Model
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
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
The End
Questions?
Results
Reconstructing process fragments Rich Picture Macro-view process diagram Formal Model
PML → Protégé-2000 Ontology→ ? Process prototype