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
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
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: ?
A Typical Development ScenarioA Typical Development Scenario
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD CDDCC
Direct ConflictsDirect Conflicts
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD
Conflicting changes to the same artifact
CCC DD
Indirect ConflictsIndirect Conflicts
CMrepository
Pete’s workspace
CBA
Ellen’s workspace
E CD
Conflicting changes to different artifacts
CCC DD
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
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
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
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
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
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
Populating a WorkspacePopulating a Workspace
Ellen populatesher workspace withdirectories & files
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
Committing ChangesCommitting Changes
Ellen has finishedher changes and committed them
‘?’ has changed to ‘!’denoting changes areknown
Blue bars denoteSeverity of changes
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
Critical Feature: Pair-Wise ComparisonsCritical Feature: Pair-Wise Comparisons
Removing and Moving ArtifactsRemoving and Moving Artifacts
Icons denote CM activitiesnamely move and remove
VisualizationsVisualizations
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
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
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
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
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
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
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
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
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
AcknowledgementsAcknowledgements
Effort funded by the National Science Foundation under grant numbers CCR-0093489 and IIS-0205724.
Special thanks to undergraduates– Peggy Lin– Zahra Noorozi