140 likes | 149 Views
This study aims to demonstrate the feasibility of automating the discovery of process workflows in open source software development communities using manual search and analysis tools. The research highlights the techniques for implementation without requiring costly investments, providing valuable insights into the process.
E N D
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 cjensen@ics.uci.edu, wscacchi@ics.uci.edu
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
Funds, 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 make decisions for the community, on high level Start new release phase, propose schedule/plan 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 Link to Tools Links to all Agents
Board member Release Manager Module maintainer Decide future release dates Start a new release phase (Mailing list) Determine main features (Mailing list) Determine project 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 Final release Development build Download links (SourceCast) Check (Netbeans, Mailing list) 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
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
The End • Questions?
Results • Reconstructing process fragments • Rich Picture • Macro-view process diagram • Formal Model • PML → Protégé-2000 Ontology→ ? • Process prototype