configuration management workspace awareness for distributed software development

29
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

Upload: kareem

Post on 07-Jan-2016

22 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Configuration Management Workspace  Awareness for Distributed Software Development

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

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

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

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

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

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

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

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

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

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

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

Populating a WorkspacePopulating a Workspace

Ellen populatesher workspace withdirectories & files

Page 13: Configuration Management Workspace  Awareness for Distributed Software Development

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

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

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

Critical Feature: Pair-Wise ComparisonsCritical Feature: Pair-Wise Comparisons

Page 17: Configuration Management Workspace  Awareness for Distributed Software Development

Removing and Moving ArtifactsRemoving and Moving Artifacts

Icons denote CM activitiesnamely move and remove

Page 18: Configuration Management Workspace  Awareness for Distributed Software Development

VisualizationsVisualizations

Page 19: Configuration Management Workspace  Awareness for Distributed Software Development

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

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

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.
Page 22: Configuration Management Workspace  Awareness for Distributed Software Development

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.
Page 23: Configuration Management Workspace  Awareness for Distributed Software Development

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)
Page 24: Configuration Management Workspace  Awareness for Distributed Software Development

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

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

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

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

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