configuration management workspace awareness for distributed software development
DESCRIPTION
Configuration Management Workspace Awareness for Distributed Software Development. Anita Sarma Department of Informatics & Institute for Software Research University of California, Irvine [email protected] www.ics.uci.edu/~asarma Faculty Advisor: Andr é van der Hoek. Overview. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/1.jpg)
Configuration Management Workspace
Awareness for Distributed Software Development
Configuration Management Workspace
Awareness for Distributed Software Development
Anita SarmaDepartment of Informatics & Institute for Software Research
University of California, [email protected]
www.ics.uci.edu/~asarma
Faculty Advisor: André van der Hoek
![Page 2: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/2.jpg)
OverviewOverview
Topic: Awareness in Configuration Management
Status:– Passed qualifying exam– Currently working on survey– Need to complete
Survey Topic proposal Final defense
Estimated Graduation Date: Nooit Plans after graduation: ?
![Page 3: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/3.jpg)
A Typical Development ScenarioA Typical Development Scenario
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD CDDCC
![Page 4: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/4.jpg)
Direct ConflictsDirect Conflicts
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD
Conflicting changes to the same artifact
CCC DD
![Page 5: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/5.jpg)
Indirect ConflictsIndirect Conflicts
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD
Conflicting changes to different artifacts
CCC DD
![Page 6: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/6.jpg)
Key ObservationsKey Observations
A CM workspace in reality provides two kinds of isolation:– Good isolation
Shields developers from parallel changes to artifacts
– Bad isolation Hides knowledge of what artifacts other developers are
changing
Opportunities for breaking isolation are limited– Based on repository information only– Initiated by developer only– Addressing direct conflicts only
![Page 7: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/7.jpg)
ObjectiveObjective
To increase awareness of ongoing workspace activities– Collect– Distribute– Organize– Present
To do so automatically and continuously– Push information
To, thereby, move earlier the point at which potential direct and indirect conflicts can be detected
![Page 8: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/8.jpg)
ApproachApproach
Provide continuous workspace awareness – Which artifacts are being changed by whom?– What is the severity and impact of the changes?
Design constraints– Non-obtrusiveness– Flexibility– Configurability– Scalability
![Page 9: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/9.jpg)
Palantír ArchitecturePalantír Architecture
CMrepository
Workspace Workspace
Event wrapper
Event service
CM client CM server CM client
Visualizations
Event wrapper
Internal state
Extractor
Visualizations
Internal state
Extractor
![Page 10: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/10.jpg)
Palantír ComponentsPalantír Components
Extractor– Tasks
Intercept workspace activity Interpret workspace activity Determine whether the activity is relevant to Palantír If relevant, gather information regarding the activity Construct and emit one or more events
Internal State– Maintain overview of activities in both the local and remote
workspaces– Subscribe to relevant workspace activities
Those pertaining to the artifacts in the local workspace but occurring in other workspaces
Siena-based event routing
![Page 11: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/11.jpg)
Palantír Components cont..Palantír Components cont..
Extractor– Further narrow down the events to be viewed
Set of workspaces Set of authors Set of artifacts
Visualizations– Organize and display events– Varying degrees of obtrusiveness
Ticker tape Tabular Explorer Fully graphical
![Page 12: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/12.jpg)
Populating a WorkspacePopulating a Workspace
Ellen populatesher workspace withdirectories & files
![Page 13: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/13.jpg)
Making Changes in the WorkspaceMaking Changes in the Workspace
Ellen makes changes• edit – creates redo.c• write.c & dict.c
‘?’ denotes artifacts are undergoing changes
Green color denoteschanges by workspaceowner
![Page 14: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/14.jpg)
Committing ChangesCommitting Changes
Ellen has finishedher changes and committed them
‘?’ has changed to ‘!’denoting changes areknown
Blue bars denoteSeverity of changes
![Page 15: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/15.jpg)
More Changes (by Other Developers)More Changes (by Other Developers)
Layers denote concurrent changes
Other authors denotedby shades of red color
Layers can be broughtforward
![Page 16: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/16.jpg)
Critical Feature: Pair-Wise ComparisonsCritical Feature: Pair-Wise Comparisons
![Page 17: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/17.jpg)
Removing and Moving ArtifactsRemoving and Moving Artifacts
Icons denote CM activitiesnamely move and remove
![Page 18: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/18.jpg)
VisualizationsVisualizations
![Page 19: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/19.jpg)
Work to DateWork to Date
Basic infrastructure is in place Four visualizations created Integrated with three CM systems
(RCS, CVS, Subversion) Addressed the design constraints
– But still need to address scalability further
![Page 20: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/20.jpg)
Current Research PlanCurrent Research Plan
Research Question: Can Palantír provide more detailed and precise information such that developers can better coordinate their parallel activities?
Key Insight: Incorporate analysis in Palantír Approach: Calculate and present severity and
impact of changes Evaluation: Case study Palantír in actual
development setting
![Page 21: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/21.jpg)
Severity AnalysisSeverity Analysis
“The amount (size) of change between two versions of an artifact”
– Currently calculated as the percentage of lines of code that have changed, a simple but not completely accurate measure
Proposed algorithms– Token based difference
Measures structural changes, but language dependent– Abstract syntax tree
Very detailed analyses, but likely too expensive (and language dependent)
Fits easily into the infrastructure
![Page 22: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/22.jpg)
Impact AnalysisImpact Analysis
“The effect of changes on my current work(space)”
Proposed algorithms– Overlapping lines of code
Simple, but inaccurate– Changed interfaces
Potentially accurate and effective, but language dependent
– Dependency analysis Very precise, semantic results, but complex (and
language dependent) Does not fit easily in the infrastructure
![Page 23: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/23.jpg)
EvaluationEvaluation
Case study to determine the effectiveness of Palantír– Does it reduce the number of conflicts?– Does it speed up development time?– Does it improve coordination?– Does it scale?
Comparison – Current prototype in a real development scenario to
determine baseline information– Palantír as enhanced with advanced severity and change
impact measures to determine the effectiveness of these measures in conflict detection
![Page 24: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/24.jpg)
Back-Up EvaluationBack-Up Evaluation
Simulate an actual development environment – Obtain a representative CM archive– “Run” through Palantír – Compare actual problems with highlighted
problems
![Page 25: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/25.jpg)
ConclusionsConclusions
We have demonstrated the feasibility of a novel approach to increasing workspace awareness with a basic prototype of Palantír
We have to determine which measures of severity and impact analysis we can use
Determine which of these measures are accurate in highlighting potential conflicts
Evaluate Palantír to determine its effective-ness in reducing conflicts in software development
![Page 26: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/26.jpg)
Related WorkRelated Work
Configuration Management Systems– CVS and many other CM systems
Only e-mail notifications
– CovenDevelopers do not know in advance what they
will change
– Night Watch– Cover
![Page 27: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/27.jpg)
Related Work cont..Related Work cont..
In the area of CSCW – BSCW, TUKAN, COOP/Orm
No pair-wise comparisons, no severity measure
– State TreemapNo pair-wise comparisons
– Sepia
![Page 28: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/28.jpg)
AcknowledgementsAcknowledgements
Effort funded by the National Science Foundation under grant numbers CCR-0093489 and IIS-0205724.
Special thanks to undergraduates– Peggy Lin– Zahra Noorozi
![Page 29: Configuration Management Workspace Awareness for Distributed Software Development](https://reader035.vdocuments.net/reader035/viewer/2022062422/56813cce550346895da67585/html5/thumbnails/29.jpg)