Click to edit Master title. style. Software Development. Tesseract: Interactive. Visual Exploration of. Relationships in.

Similar documents
Jose Ricardo Esteban Clua Leonardo Murta. Anita Sarma

Effective Team Collaboration with Simulink

Social Share for Magento 2. User Guide

Why do we need roles?

Visualizing the evolution of software using softchange

Supporting developer-onboarding with enhanced resource finding and visual exploration

The Anatomy of A FOSS Project

A Usability Evaluation of Google Calendar

Coping with an Open Bug Repository

The Whyline. An Interrogative Debugging Interface for Asking Questions About Program Behavior. Andrew J. Ko and Brad A. Myers

Open Source Integrated Development Environment

Transforming the Internal IT Landscape with APIs. Scott Cranton Director, Application Platform SAs April 2018

R: A Proposed Analysis and Visualization Environment for Network Security Data

A Data Modeling Process. Determining System Requirements. Planning the Project. Specifying Relationships. Specifying Entities

ER Modeling Data Modeling and the Entity-Relationship (ER) Diagram Pg 1

Churrasco: Supporting Collaborative Software Evolution Analysis

Steps for project success. git status. Milestones. Deliverables. Homework 1 submitted Homework 2 will be posted October 26.

From SMF to Excel: graphs and reports in one click Part 1

COLUMN. Designing intranet homepages that help employees do their jobs. Too many homepages are stuffed with generic information MARCH 2013

Web logs (blogs. blogs) Feed support BLOGS) WEB LOGS (BLOGS

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

FRONT USER GUIDE Getting Started with Front

Monitor Qlik Sense sites. Qlik Sense Copyright QlikTech International AB. All rights reserved.

Thoughts about a new UI for the Eclipse BPEL Designer

CS 520 Theory and Practice of Software Engineering Fall 2018

Design Iteration: From Evidence to Design. Slides originally by: Dick Henneman

Amp Up Troubleshooting Effectiveness with Free Genesys Care Tools. Marc Picard & Zenon Marsh Genesys Care Infrastructure and Tools

The CERT Survivability and Information Assurance Curriculum Building Enterprise Networks on a Firm Educational Foundation

A Systems Approach to Dimensional Modeling in Data Marts. Joseph M. Firestone, Ph.D. White Paper No. One. March 12, 1997

The Design Patterns Matrix From Analysis to Implementation

Enterprise Data Access Management in a Multi-Tenant SAS BI environment

Foundation Level Syllabus Usability Tester Sample Exam Answers

Usability test report: Digital Collections 1

Contents. Managing Places...3. Contents 2

New User Guide to DSRIP Tracker

One of the fundamental kinds of websites that SharePoint 2010 allows

BDD and Testing. User requirements and testing are tightly coupled

The Strategic Approach to Design. Raheel Gauba

Gibson: 3D Visualization and Modeling of Real Time Security Events. Dan Klinedinst

Object-Oriented Analysis and Design Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology-Kharagpur

Human Computer Interaction Lecture 10. Interaction Paradigms

platform Development Process Optimization For Drupal centric projects

SWEN 444 Human Centered Requirements and Design Project Breakdown

Oracle. SCM Cloud Configurator Modeling Guide. Release 13 (update 17D)

Documentation Nick Parlante, 1996.Free for non-commerical use.

Code, Camera, Action:How Software Developers Document and Share Program Knowledge Using YouTube

Empirical Studies on the Security and Usability Impact of Immutability

SEMANTIC NETWORK AND SEARCH IN VEHICLE ENGINEERING

TREASURE ISLAND VERSION

General mapp Solutions FAQ

Using the SORASCS Prototype Web Portal

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Los Angeles County Metropolitan Transportation Authority (Metro) Arterial Performance Measures Framework

2012 Microsoft Corporation. All rights reserved. Microsoft, Active Directory, Excel, Lync, Outlook, SharePoint, Silverlight, SQL Server, Windows,

Advanced Compiler Design ( ) Fall Semester Project Proposal. Out: Oct 4, 2017 Due: Oct 11, 2017 (Revisions: Oct 18, 2017)

Categorizing Migrations

Versioning. Terms. Configuration item (CI) Version Configuration Management aggregate Configuration Baseline

GUI Programming with GTK+

Welcome to this IBM Rational Podcast. I'm. Angelique Matheny. Joining me for this podcast, Delivering

Data Collection Methods. Pros and Cons of Primary and Secondary Data

AADL Graphical Editor Design

Academic Student Learning Outcomes Assessment Management System TracDat v5

Copyright 2010, Oracle. All rights reserved.

With IBM BPM 8.5.5, the features needed to express both BPM solutions and case management oriented solutions comes together in one offering.

UX DESIGN BY JULIA MITELMAN

Disclaimer. Lect 2: empirical analyses of graphs

WordPress SEO. Basic SEO Practices Using WordPress. Leo Wadsworth LeoWadsworth.com

Scaling Without Sharding. Baron Schwartz Percona Inc Surge 2010

SE 2 [CS 446, CS 646, ECE 452, SE 464] Software Design & Architecture Spring 2011 MIDTERM

INETCO Insight Product Demo Script Updated: June 2015

Usability Report Cover Sheet

Introduction to NodeXL

Sindice Widgets: Lightweight embedding of Semantic Web capabilities into existing user applications.

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

Lesson 4: Bug Reporting and STLC

UI/UX BASICS. What is UX?

How to git with proper etiquette

the address book training guide

7 Tips for Raising The Quality Bar With Visual Studio 2012

<Insert Picture Here> OpenJDK - When And How To Contribute To The Java SE Reference Implementation OSCON 2011, July 26th, 2011

RSARTE Git Integration

Infrastructure with intelligence

Usability Test Report: Tool for Books & More Bento Box 1

Building a Large, Successful Web Site on a Shoestring: A Decade of Progress

Managing Reports, Dashboards, and Views

Oracle Applications Cloud Extending the Applications for Functional Administrators

Record-Level Access: Under the Hood

Canadian Common CV and Research Portal Workshop For Students

The Website. Teaching Thoughts. Usability Report. By Jon Morris

making a complaint This leaflet tells you how to make a complaint and how we will deal with your complaint

02161: Software Engineering I

Web Evaluation Report Guidelines

Heuristic Evaluation of Groupware. How to do Heuristic Evaluation of Groupware. Benefits

XML Sitemap Splitter for Magento 2. User Guide

Term Definition Introduced in: This option, located within the View tab, provides a variety of options to choose when sorting and grouping Arrangement

EFFECTIVE WEB CONTENT

How Can Testing Teams Play a Key Role in DevOps Adoption?

National Child Measurement Programme 2017/18. IT System User Guide part 5. Progress and Data Quality Monitoring.

Design Rules. increasing generality. increasing authority. Guide lines. Standards. increasing authority. increasing generality

Transcription:

Click to edit Master title Tesseract: Interactive Visual Exploration of style Socio-Technical Relationships in Software Development Anita Sarma, Larry Maccherone, Patrick Wagstrom, and James Herbsleb Institute for Software Research, School of Computer Science Carnegie Mellon University

Some Questions in Software Development Who do I go to for help? Which other artifacts are affected by my changes? Which developer is affected by my changes? Whose changes are affecting my changes? Who should be assigned to this task? Discussions Which tasks need to be completed before the other? Which artifacts are brittle or buggy? 2 2 Answering these questions is non-trivial Source Code Defects/Feature requests

Problem Need for coordination arises because of complex relationships among project elements Data is siloed These relationships change over time Social and technical relationships are tightly coupled Lack of interactive exploratory environment for software projects 3 3

Objective Provide an interactive project exploration environment aggregate data across data different sources cross-link and visualize relationships present changes in relationships over time treat social and technical relationships as first order objects Allow the lay user to explore relationships and project dynamics 4 4

Research Challenges Where to get the information? How to deal with scale? How to meaningfully extract and relate linkages? Allow investigating a particular problem Which information should be displayed? Help find interesting patterns 5 5

Tesseract Interactive and explorative environment to correlate and understand the complex relationships among: code developers communication records tasks (issues/ features) time 6 6

Tesseract 7 7

Design Decisions code commits bug discussions bug activities database email discussions Server Data Extractor Client model preprocessed relational data current selection & drill down data filter settings bindings model view model model user input view display panels filters 8 8 Decoupling data collection from data consumption Easy substitution of linkage heuristics Easy substitution of visualization components

Information Flow Collecting Server Extracting Client Analyzing XML files cross-linked highlighting Filtering Visualizing 9 9 input filter settings / drill down to some nodes

Information Flow Collecting Server Extracting Client Analyzing XML files cross-linked highlighting Filtering input filter settings / drill down to some nodes Visualizing 10 10 Collect existing data from project archives Data Sources CM systems Mailing lists Bug trackers

Information Flow Collecting Server Extracting Client Analyzing XML files cross-linked highlighting Filtering input filter settings / drill down to some nodes Visualizing 11 11 Extracting Explicit developer file developer bug Heuristics file file dev id normalization Team policies bug file reply all

Information Flow Collecting Server Extracting Client Analyzing XML files cross-linked highlighting Filtering input filter settings / drill down to some nodes Visualizing 12 12 Cross Link data relationships among code, developers, bugs Create Networks file to file association who should talk to whom? who is talking to whom?

File Association Logical Coupling Frequently co-committed files are logically associated with each other (Gall, Hajek, Jazayerri 1988) Especially useful in situations where code base contains different programming language files call site separated from target (e.g., network connection or even transmitted by event bus) Better measure of dependency for our purposes (Cataldo et al. 2006, 2008, 2009) 13 13

Developer Testimony The implicit dependency stuff, that, I think could be really useful in and of itself. So things that which end up being changed together but don't necessarily have an inheritance relationship, or compositional -- knowing that, I've changed this thing it looks like something in isolation, but in reality whenever someone changes something here, these thirty other things change because of some ripple effect, that would be useful 14 14

Developer Network Coordination Requirements Communication Pattern 15 15 Congruence

Developer Testimony this [developer pane] is a project manager view. What I know is, I am this person, three people have red flag and one person has green flag. My dashboard says you need to talk to [developer] because he made these changes 16 16

Information Flow Collecting Server Extracting Client Analyzing XML files cross-linked highlighting Filtering input filter settings / drill down to some nodes Visualizing 17 17 Project activity view Drill down Thresholding density of file, developer association total commits in a set file types communication type Text search

Tesseract Visualization 18 18

Tesseract Visualization 19 19

Tesseract Visualization 20 20

Tesseract Visualization 21 21

Tesseract Visualization 22 22

Tesseract Visualization 23 23

Developer Testimony Without Tesseract It's usually just talking to people about what happened, going back to the CVS and trying to see what happened with the file changes [is] kinda fruitless. With Tesseract from a grunt developer standpoint, the file listing and cross reference of who has worked before that would be very, very nice. But probably not much use for experienced developers..this stuff most useful for the initial developers they err for getting to know the code base. I have been for eight years have this stuff in mind If someone new, help in how to find stuff 24 24

Formative Evaluation Instrumented with GNOME data 10 years data 1,000 developers, 48,000 commits 200,000 bugs Usability studies five tasks to evaluate the understanding of cross-panel referencing five participants Open source developer feedback interview to verify the need and usage scenario five open source developers from different projects 25 25

Conclusions Allow Interactive explorations of project relationships - cross-linked across different data sources - over time Treat both social and technical relationships as first order elements Use logical coupling for file associations Determine fit between communication needs and behavior Formative evaluations that demonstrate the need for such an approach 26 26

Future Work Summative user evaluation Visualization Enhancements hierarchical grouping of nodes (e.g., packages, directories) clustering algorithm (Newman grouping) sticky layout of networks integration with source repositories Analysis other analyses (temporal consideration for congruence, SNA metrics) difference in networks between two time slices 27 27

Questions! Demo presentation on Friday 11am, Salon C Authors gratefully acknowledge support from the following agencies: NSF IIS-0414698, IIS-0534656 IBM Jazz Innovation and Faculty grants Alfred P. Sloan Foundation (2008-09) 28 28