210 likes | 312 Views
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
E N D
Tesseract: Interactive Visual Exploration of Socio Technical Relationships in Software DevelopmentAnita Sarma, Larry Maccherone, Patrick Wagstrom, and Jim Herbsleb Presented by AbiramiPoonkundran
Overview • Introduction • Current Work • Current Tools • Solution • Tesseract • Tesseract Usage Scenarios • Information Flow • Architecture • Evaluation • Conclusion • Strength • Weakness
Introduction • 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 • 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 Work • 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 • 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 • 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 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 (a) (b) (C) (d)
Tesseract • 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 • 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 • 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 (a) (b) Contrasting development patterns
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. • Aproject may use CVS, Perforce, Bugzillaetc., • Tesseract is able to work with a wide set of projects
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
Evaluation • 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 • 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 • 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 • 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.