PhD Thesis Defence - Nicholas Bradley

Date

Name: Nicholas Bradley

Time: 4 PM

Date: September 9th

Location: ICCS X836

Supervisor(s): Reid Holmes  and  Thomas Fritz

 

Title: Tool Coordination in Software Development Workspaces

Abstract:

Building and evolving modern software systems requires developers to use multiple tools within their workspaces. Unfortunately, the design of current workspaces, where tools operate independently of each other, leaves the manual and laborious orchestrating of these independent tools to developers. The constant tool coordination, navigation, and configuration represents unnecessary work that acts as a form of friction that impedes developer productivity. In particular, the workspace's tool-centric design silos the information developers need for their tasks. Due to the diversity of projects and tasks developers work on, even advanced tools like the IDE will never be able to solve this unnecessary work for all developers. Instead, new approaches are needed to overcome challenges developer's encounter locating and aligning information between their tools.

In this thesis, we examine the friction that developers experience from the tool-centric design of current workspaces, and explore two context-centric approaches, Helm and Scout, which use contextual information across tools to help mitigate the friction developers encounter when locating and aligning information necessary for their tasks.

Our first approach, Helm, is a lightweight system that automatically captures contextual information about the developer's project and the resources they access to reduce the effort of manually re-finding resources. Helm uses this context to recommend resources, including source code files, web pages, and commands, from a central location enabling developers to more directly navigate between resources. Our second approach, Scout, uses contextual information about the developer's source code to help the developer locate API information on the web. Scout tailors search results to the developer's task by extracting, ranking, and presenting the most relevant API signature information directly within the IDE where the information is needed.

Through two controlled studies, one with 17 developers using Helm and another with 40 developers using Scout, we analyzed how the approaches affected the way developers located information in their workspace. We found that, by using contextual information across tools, approaches can significantly help developers locate information for their tasks. Building on these findings, we establish a new vision for the modern workspace where tools share contextual information to proactively support developers' tasks and improve productivity by reducing unnecessary friction.