21
Tesseract: Interactive Visual Exploration of Socio Technical Relationships in Software Development Anita Sarma, Larry Maccherone, Patrick Wagstrom, and Jim Herbsleb Presented by Abirami Poonkundran

Presented by Abirami Poonkundran. Introduction Current Work Current Tools Solution Tesseract Tesseract Usage Scenarios Information Flow

Embed Size (px)

Citation preview

Page 1: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Tesseract: Interactive Visual Exploration of Socio Technical Relationships in Software Development

Anita Sarma, Larry Maccherone, Patrick Wagstrom, and Jim Herbsleb

Presented by Abirami Poonkundran

Page 2: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Introduction Current Work Current Tools Solution Tesseract Tesseract Usage Scenarios Information Flow Architecture Evaluation Conclusion Strength Weakness

Overview

Page 3: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Success of a Software Project depends on robust understanding of both Technical and Social linkages, that happens within a project

Technical artifacts:◦ Code Analysis◦ Task Analysis◦ Mining project archives

Social linkages:◦ Relationship between developers◦ Communication between developers etc.,

Introduction

Page 4: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Research has shown that:◦ Source code, artifacts, developers and tasks are intrinsically

bound together in a software project

◦ Developers who work on interdependent code modules without communicating with each other, introduce future integration problems

◦ Development work proceeds more efficiently, when developers have access to patterns of communication or logical dependencies between artifacts

Current Work

Page 5: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Studies have shown that:◦ Teams which interact rigorously through emails, IRC or mailing list

were aware of “Who is doing what” and this reduced potential errors

◦ Teams with high congruence (match between technical dependencies among artifacts and communication patterns) took less time to complete tasks

Current Work

Page 6: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

• There are various tools available for Code Analysis or Social Network Analysis

• All the current tools focuses on either Technical or Social aspects of a project independently

• It is very useful when all these information are combined together

• Combining them together helps to manage changes, time, improve collaboration, coordination, as well as finding the right person to communicate etc.,

Current Tools

Page 7: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

We need a tool which:◦ Simultaneously show the social as well as technical relationships

among different project entities, like: Developers Communication Code, and Bugs

◦ Cross-link and enable interactive exploration of these relationships and how they evolve

◦ Highlight matches among technical dependencies and communication patterns of developers

Solution

Page 8: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Tesseract is a tool which does everything that is mentioned above

Tesseract is an interactive, exploratory environment, to enable developers to investigate complex relationships among code, developers, communications and bugs

Tesseract

Page 9: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Tesseract

(a)

(b) (C)

(d)

Page 10: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

4 cross – linked panesa) Project Activity Pane

displays the activities in a project as a time series

b) Files Network Pane Displays the link between the files

c) Developers Network Pane displays developers and links among them

d) Issues Pane displays defect or feature related information

Demo:◦ http://crc.maccherone.com/tesseract/mpv.html

Tesseract

Page 11: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Investigating an event◦ A new developer is assigned to fix a particular bug regarding the

display of “minutes remaining” in a play list.◦ From reading the mailing lists, he remembers that some one had

worked on a related feature.◦ So he decided to investigate that feature to obtain a better

understanding of the file and the people who involved in the project

Tesseract Usage Scenarios

Page 12: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Deciphering patterns◦ This scenario provides two snapshots of project history, each

presenting file network developer network issues data

Figure (a)◦ Stephen is the primary contributor having changed literally every

file Figure (b)

◦ Alicia is now the primary contributor and she is communicating with other contributors

Tesseract Usage Scenarios

Page 13: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Tesseract Usage Scenarios(a)

(b)

Contrasting development patterns

Page 14: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Information Flow

Page 15: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Collecting:◦ Most open source and distributed development projects use 3

major tools to manage software development SCM one or more project mailing lists common bug or issue tracking database.

Extracting and Cross-linking:◦ Different projects use different systems for their code and bug

archival. ◦ A project may use CVS, Perforce, Bugzilla etc.,◦ Tesseract is able to work with a wide set of projects

Information Flow

Page 16: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Analyzing◦ The XML files generated by the extractor are analyzed on the web

client to identify Relationships among code, developer, and bugs Coordination among team members Communication patterns among developers

Filtering ◦ Includes time slider, file pane, developer pane, search field.

Visualizing◦ visualizing the socio-technical relationships in the project. ◦ graphical representation

Information Flow

Page 17: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Architecture

Page 18: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Use of GNOME project data◦ This is a open source project with large data in the database

Usability studies◦ Small experiment to evaluate whether user could understand and

apply Experienced developer feedback

◦ Conducted a series of interview with experienced developers

Evaluation

Page 19: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Tesseract is designed for investigating relationships among code, communication records, bugs, and developers over time.

Tesseract builds upon the recent history of socio-technical tools by showing the feasibility of creating a general project browser tool

Tesseract based on user recommendations, such as:◦ Hierarchically grouping files based on packages, functionality, or

architecture◦ Providing additional context of changes◦ Allowing developers to specify when they have communicated

with another developer

Conclusion

Page 20: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

Tesseract is designed for investigating relationships among code, communication records, bugs, and developers over time

Tesseract as a web application removes the need for installing any software on the client side, which makes it easy for managers to quickly use the tool

Tesseract is an open source tool and it is easy to use and very uses full for new developers

The author conducted interviews with real life developers and got their feedback

Strength

Page 21: Presented by Abirami Poonkundran.  Introduction  Current Work  Current Tools  Solution  Tesseract  Tesseract Usage Scenarios  Information Flow

XML file is generated while analyzing The author has tested with GNOME project Being open source, individuals used different aliases for each

system. Large part of the normalization process was automated.

Weakness