Presented by abirami poonkundran
Download
1 / 21

Presented by Abirami Poonkundran - PowerPoint PPT Presentation


  • 85 Views
  • Uploaded on

Tesseract: Interactive Visual Exploration of Socio Technical Relationships in Software Development Anita Sarma , Larry Maccherone , Patrick Wagstrom , and Jim Herbsleb. Presented by Abirami Poonkundran. Overview. Introduction Current Work Current Tools Solution Tesseract

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Presented by Abirami Poonkundran' - booker


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Presented by abirami poonkundran

Tesseract: Interactive Visual Exploration of Socio Technical Relationships in Software DevelopmentAnita Sarma, Larry Maccherone, Patrick Wagstrom, and Jim Herbsleb

Presented by

AbiramiPoonkundran


Overview
Overview Technical Relationships in Software Development

  • Introduction

  • Current Work

  • Current Tools

  • Solution

  • Tesseract

  • Tesseract Usage Scenarios

  • Information Flow

  • Architecture

  • Evaluation

  • Conclusion

  • Strength

  • Weakness


Introduction
Introduction Technical Relationships in Software Development

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

  • Technical artifacts:

    • Code Analysis

    • Task Analysis

    • Mining project archives

  • Social linkages:

    • Relationship between developers

    • Communication between developers etc.,


Current work
Current Work Technical Relationships in Software Development

  • Research has shown that:

    • Source code, artifacts, developers and tasks are intrinsicallybound together in a software project

    • Developers who work on interdependent code modules without communicating with each other, introduce future integrationproblems

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


Current work1
Current Work Technical Relationships in Software Development

  • 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 tools
Current Tools Technical Relationships in Software Development

  • 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.,


Solution
Solution Technical Relationships in Software Development

  • 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


Tesseract
Tesseract Technical Relationships in Software Development

  • 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


Tesseract1
Tesseract Technical Relationships in Software Development

(a)

(b)

(C)

(d)


Tesseract2
Tesseract Technical Relationships in Software Development

  • 4 cross – linked panes

    • Project Activity Pane

      • displays the activities in a project as a time series

  • Files Network Pane

    • Displays the link between the files

  • Developers Network Pane

    • displays developers and links among them

  • Issues Pane

    • displays defect or feature related information

  • Demo:

    • http://crc.maccherone.com/tesseract/mpv.html


  • Tesseract usage scenarios
    Tesseract Usage Scenarios Technical Relationships in Software Development

    • 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 scenarios1
    Tesseract Usage Scenarios Technical Relationships in Software Development

    • 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 scenarios2
    Tesseract Usage Technical Relationships in Software DevelopmentScenarios

    (a)

    (b)

    Contrasting development patterns


    Information flow
    Information Flow Technical Relationships in Software Development


    Information flow1
    Information Flow Technical Relationships in Software Development

    • 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.

      • Aproject may use CVS, Perforce, Bugzillaetc.,

      • Tesseract is able to work with a wide set of projects


    Information flow2
    Information Flow Technical Relationships in Software Development

    • 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


    Architecture
    Architecture Technical Relationships in Software Development


    Evaluation
    Evaluation Technical Relationships in Software Development

    • 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


    Conclusion
    Conclusion Technical Relationships in Software Development

    • 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


    Strength
    Strength Technical Relationships in Software Development

    • 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


    Weakness
    Weakness Technical Relationships in Software Development

    • 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.


    ad