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.
Download ReportTranscript 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.
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] 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 Configur e and Maintain CVS ensure that the netbeans community is being run in a fair and open manner Download new release make decisions for the community, on high level The Board report bugs Users CVS Manager Mailing Lists Site Administrator Maintainer Website Deploy Builds decide features for the project and merge patches/bug fixes, create module web page Maintain a project/ module, manage a group of developers Link to all Use cases Tools SourceCast CVS IssueZilla Select feature to develop, bug to fix, download netbeans, commit code grant CVS commit privilege to developers Contribute to community, Meet time constraints for the release Link to Tools Release Manager Release proposal, Release updates, branch for current release, release post mortem, review Release Candidates & decide final release Grant Access Manage website Start new release phase, propose schedule/plan download development builds and test, Release Qbuilds QA team Produce Q builds and ensure quality of the software Developers/ Contributors Links to all Agents Board member Decide future release dates Roadmap Release Manager Start a new release phase (Mailing list) Determine main features (Mailing list) Release proposal Schedule Site administrator Module maintainer Determine project features (Mailing list) Module plan Create module web page (Web site) Build (CVS scripts) source code QA Team Download links (SourceCast) Final release Check (Netbeans, Mailing list) Development build Developer Write bug fix (Netbeans) Test (Netbeans) Netbeans Web Site Release information update (SourceCast) Release candidate 2 Release candidate 1 Check (Netbeans, Mailing list) Check (Netbeans, Mailing list) List of bugs to fix Q build Use (Netbeans, Issuezilla) User Release Manager Module Web Page Decide which bugs to fix (Issuezilla) List of bugs 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 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