configuration management workspace awareness for distributed software development

Post on 07-Jan-2016

18 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Configuration Management Workspace Awareness for Distributed Software Development. Anita Sarma Department of Informatics & Institute for Software Research University of California, Irvine asarma@ics.uci.edu www.ics.uci.edu/~asarma Faculty Advisor: Andr é van der Hoek. Overview. - PowerPoint PPT Presentation

TRANSCRIPT

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, Irvineasarma@ics.uci.edu

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

Andre van der Hoek
You better knwo these, they will ask you about it.

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

Andre van der Hoek
Same here.

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

Andre van der Hoek
How will you measure this? (improve coordination)

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

top related