Скачать презентацию Enhancing Configuration Management Systems with Information of Parallel Скачать презентацию Enhancing Configuration Management Systems with Information of Parallel

9f96706b54648e61349ea0ea50d71cd7.ppt

  • Количество слайдов: 35

Enhancing Configuration Management Systems with Information of Parallel Activities Topic Proposal Anita Sarma October Enhancing Configuration Management Systems with Information of Parallel Activities Topic Proposal Anita Sarma October 2005

A Typical Development Scenario A C D Pete’s workspace E Ellen’s workspace CM repository A Typical Development Scenario A C D Pete’s workspace E Ellen’s workspace CM repository 2

A Typical Development Scenario A C D Pete’s workspace E Ellen’s workspace No conflicts A Typical Development Scenario A C D Pete’s workspace E Ellen’s workspace No conflicts CM repository Pete and Ellen modify entirely different artifacts with no dependencies 3

A Typical Development Scenario A C D Pete’s workspace E C Ellen’s workspace No A Typical Development Scenario A C D Pete’s workspace E C Ellen’s workspace No conflicts CM repository Ellen starts to modify artifact “C” 4

A Typical Development Scenario 30 lines 5 -10; 40 changed A C D Pete’s A Typical Development Scenario 30 lines 5 -10; 40 changed A C D Pete’s workspace E C Ellen’s workspace No conflicts lines 20 -40 changed CM repository Direct conflicts Pete. Ellen concurrently modify thewith noartifact “C” and modify entirely different files same dependencies 5

A Typical Development Scenario A B C D Pete’s workspace E C Ellen’s workspace A Typical Development Scenario A B C D Pete’s workspace E C Ellen’s workspace No conflicts CM repository Direct conflicts Pete and Ellen modify entirely different which E depends Pete modifies artifact “B” on files with no dependencies 6

A Typical Development Scenario A B C D Pete’s workspace E Changes to method A Typical Development Scenario A B C D Pete’s workspace E Changes to method body that calls interface I 1 C Ellen’s workspace signature of interface I 1 changed No conflicts CM repository Direct conflicts Indirect conflicts Pete and Ellen Petethat affectsdifferent files withfile“E” in parallel Pete modifiesmodify entirely modify the modifies dependencies “B” and Ellen “E”; Ellen same no 7

Goal Help mitigate the impact of direct and indirect conflicts 8 Goal Help mitigate the impact of direct and indirect conflicts 8

Traditional CM Approaches Coordination mechanism Direct conflicts Indirect conflicts Pessimistic Locking before Avoided, at Traditional CM Approaches Coordination mechanism Direct conflicts Indirect conflicts Pessimistic Locking before Avoided, at the Not addressed changes are expense of (RCS, made project delays DSEE) Optimistic (CVS, Clear. Case) Automated merging after changes have been made Resolved, except for overlapping changes Not addressed 9

Field Studies n Perry, et al. – 1994 – Number of conflicts proportional to Field Studies n Perry, et al. – 1994 – Number of conflicts proportional to amount of parallel development n Grinter – 1995 – Use information from CM systems to pace their development n De Souza, et al. – 2003 – Send email detailing changes and their expected effects before check-in 10

Inferences from Field Studies n Conflicts regularly occur and affect productivity – (Perry, et Inferences from Field Studies n Conflicts regularly occur and affect productivity – (Perry, et al. , 1994) n Developer responses: – Actively obtain information from the CM systems – (Grinter, 1995) – Pace their development to avoid conflict resolution – (Grinter, 1995) – Send extra information to enable detection of effects of changes on other artifacts – (De Souza, 2003) – Place their work in the context of others’ changes – (De Souza, 2003) 11

Developer Responses Informal coordination conventions A B C D Pete’s workspace E C Ellen’s Developer Responses Informal coordination conventions A B C D Pete’s workspace E C Ellen’s workspace CM repository 12

Hypothesis Providing information of parallel development activities and their effects enables developers to: – Hypothesis Providing information of parallel development activities and their effects enables developers to: – place their work in the context of others’ – self-coordinate their actions – reduce the magnitude and occurrence of direct and indirect conflicts 13

Current Developer Response Informal coordination conventions A B C D Pete’s workspace E C Current Developer Response Informal coordination conventions A B C D Pete’s workspace E C Ellen’s workspace CM repository 14

Solution: Support Informal Coordination More efficient and effective coordination Enhanced workspace A B Enhanced Solution: Support Informal Coordination More efficient and effective coordination Enhanced workspace A B Enhanced workspace C D Pete’s workspace E C Ellen’s workspace CM repository 15

Context Current infrastructure Issues – late conflict detection Proposed solution – early conflict detection Context Current infrastructure Issues – late conflict detection Proposed solution – early conflict detection n. Private workspaces Isolated workspaces Insulated workspaces n Well structured “Pull-based” “Push-based” Information only at specific synchronization points Relevant real-time information provided continuously coordination protocols Ensure syntactic Overlapping direct correctness – Merge conflict not resolved Ensure semantic correctness – Builds Identify and characterize direct conflicts through severity analysis Indirect conflicts Identify and characterize undetected until build, indirect conflicts through test, or even impact analysis deployment stage 16

Overarching Plan of Attack n Research question: Does information of parallel activities and their Overarching Plan of Attack n Research question: Does information of parallel activities and their effects provide an effective context in which to place one’s own work? n Approach: Provide real-time information of parallel development activities continuously n Validation: – Implicit validation from field studies – Evaluation results: v v Usability case studies – observations on how users monitor information provided and interact with each other Conflict detection case studies – analysis of the number and magnitude of conflicts detected in a real-life project 17

Research Questions 1. How can a tool provide this information in a usable, scalable, Research Questions 1. How can a tool provide this information in a usable, scalable, and effective manner? 2. To what extent does this information affect self-coordination? 3. To what degree can self-coordination reduce the occurrence of conflicts? 4. To what degree can selfcoordination reduce the magnitude of conflicts? 18

Approach n Provide information of parallel activities continuously n n n at real time Approach n Provide information of parallel activities continuously n n n at real time Identify direct and indirect conflicts Provide metrics to denote the size and effect of conflicts Allow detection of conflicts earlier while changes are still in progress Build on existing CM infrastructure Present information through visualizations that are unobtrusive and contextualized Filter events based on relevance Research prototype Palantír embodies this approach 19

Palantír Architecture Pete’s Workspace Ellen’s Workspace Palantír Client Visualization Extractor Internal State Palantír Server Palantír Architecture Pete’s Workspace Ellen’s Workspace Palantír Client Visualization Extractor Internal State Palantír Server Capture Bootstrap Event Database Workspace Wrapper The Eclipse Platform Event Listeners Visualization Extractor Internal State Workspace Wrapper CM System CM Server The Eclipse Platform Event Listeners Workspace CM Plug-in Repository CM Plug-in 20

Palantír Client – Visualizations 21 Palantír Client – Visualizations 21

Severity Analysis n Severity Analysis – The amount (size) of change between two versions Severity Analysis n Severity Analysis – The amount (size) of change between two versions of an artifact – Artifact severity: the percentage of lines of code that have changed v Example: 25 lines on 100 = 25% – Directory severity: ∑Actual artifact severities ∑Possible artifact severities v Example: dir. A – 12. 5% dir. B – 25% foo. c – 50 lines of 100 changed – 50% bar. c – 0 lines of 100 changed – 0% dir. C – 0% head. c – 0 lines of 100 changed – 0% 22

Impact Analysis – Remaining Research Impact of changes – “The effect of changes on Impact Analysis – Remaining Research Impact of changes – “The effect of changes on my current work(space)” n Requirements n – Identification of levels of analysis v v v Local workspace level Remote workspace level Repository level – Identification and presentation of effects of indirect conflicts v v Outgoing conflicts – artifacts that affect others Incoming conflicts – artifacts that are affected – Identification and implementation of metrics to denote the size of “effects” of a change 23

Impact Analysis – Local Workspace A B C D Pete’s workspace E C Ellen’s Impact Analysis – Local Workspace A B C D Pete’s workspace E C Ellen’s workspace Local workspace level CM repository Effect of local changes on local workspace (A → B) 24

Impact Analysis – Remote Workspace A B C D Pete’s workspace E C Ellen’s Impact Analysis – Remote Workspace A B C D Pete’s workspace E C Ellen’s workspace Local workspace level CM repository Remote workspace level Effect of changes in remote workspace on local workspace (E → A) 25

Impact Analysis – Repository A B C D Pete’s workspace E C Ellen’s workspace Impact Analysis – Repository A B C D Pete’s workspace E C Ellen’s workspace Local workspace level CM repository E Remote workspace level Repository level Effect of changes in repository on local workspace (E → A) 26

Impact Analysis – Outgoing/Incoming Conflicts A B C D Pete’s workspace E C Ellen’s Impact Analysis – Outgoing/Incoming Conflicts A B C D Pete’s workspace E C Ellen’s workspace Outgoing conflicts CM repository Incoming conflicts Outgoing conflicts – artifacts that affect others (C) Incoming conflicts – artifacts that are affected (A, B) 27

Options for Impact Analysis n Program analysis – Dependency analysis – Call graphs – Options for Impact Analysis n Program analysis – Dependency analysis – Call graphs – Abstract syntax trees n Eclipse IDE capabilities – Refactoring – Outline of a program n XML tags – Java-XML, Castor, Apache (XML Beans) n… 28

Evaluation – Criteria for Success 1. Usability study n RQ#1: tool provides information in Evaluation – Criteria for Success 1. Usability study n RQ#1: tool provides information in a usable, scalable, and effective manner n RQ#2: information of parallel activities increases self-coordination 2. Conflict detection n RQ#3: reduction in occurrence of direct and indirect conflicts n RQ#4: reduction in magnitude of direct and indirect conflicts 29

Evaluation 1 – Usability Study n Five or more confederate case studies – At Evaluation 1 – Usability Study n Five or more confederate case studies – At least one of them without the use of Palantír n Subjects: – Undergraduates, volunteer programmers – Role: Complete given programming assignment in teams within the time limit n Confederate: – Fellow graduate students, research group members – Role: Act as a team member, but run predefined scripts that lead to conflicts in the assignment n The subject is not aware of the identity and intentions of the confederate 30

Usability Studies: Goals n How subjects monitor and interact with Palantír n Whether subjects Usability Studies: Goals n How subjects monitor and interact with Palantír n Whether subjects monitor conflict warnings n How subjects interact with their partners on detecting potential conflicts n Identify differences (if any) in coordination efforts: – Only direct conflicts – Direct and indirect conflicts n Conduct structured interviews 31

Evaluation 2 – Conflict Detection n Create light-weight Palantír client – Use in research Evaluation 2 – Conflict Detection n Create light-weight Palantír client – Use in research group, open-source and commercial companies – Capture relevant Palantír events onsite and investigate them later offsite – Compare direct conflict detection with SCM merge conflicts – Compare indirect conflict detection with build logs, bug trackers, build managers… 32

Timeline Fall 05: Preliminary research on Impact Analysis (Oct – Dec 05) Investigate and Timeline Fall 05: Preliminary research on Impact Analysis (Oct – Dec 05) Investigate and design Impact Analysis metrics (Oct – Dec 05) Restructure Palantír events (Nov – Dec 05) Winter 06: Build Impact analysis tool / algorithm (Jan – Mar 06) Create Palantír client wrapper (Feb – Mar 05) Spring 06: Test Impact analysis tool (Apr 06) Reconstruct Palantír to be plug-in oriented (May 06) Integrate Impact analysis component with Palantír (May 06) Evaluate Palantír with Severity and Impact (Jun 06) Release Palantír client wrapper (Jun 06) Summer 06: Collect data from Palantír client wrapper (Jul – Sept 06) Create scenario for evaluation (Jul – Sept 06) Fall 06: Schedule user case studies (Jul – Sept 06) Analyze data from Client wrapper (Oct – Dec 06) Winter 07: Conduct user case studies (Jan –Apr 07) Dissertation writing (Jan – Mar 07) Spring 07: Evaluate scenario case studies (Apr – May 07) Complete dissertation (Apr – Jun 07) 33

Contributions n A coordination approach built on traditional CM coordination protocols to help mitigate Contributions n A coordination approach built on traditional CM coordination protocols to help mitigate the effects of conflicts – Enhances workspaces with information of parallel activities – Enables placing one’s work in the context of others – Sparks self-coordination to avoid conflicts n Approach that leads to reduction in occurrence and magnitude of conflicts n Palantír embodies this approach – – Detection of potential conflicts Metrics to represent the magnitude of conflicts Set of visualizations with varying degree of obtrusiveness Easy adoption into current practices 34

Questions? ? ? 35 Questions? ? ? 35