Download PDFOpen PDF in browser

Find Unique Usages: Helping Developers Understand Common Usages

EasyChair Preprint no. 3479

8 pagesDate: May 24, 2020

Abstract

When working in large and complex codebases, developers face challenges using Find Usages to understand how to reuse classes and methods. To better understand these challenges, we conducted a small exploratory study with 4 participants. We found that developers often wasted time reading long lists of similar usages or prematurely focused on a single usage. Based on these findings, we hypothesized that clustering usages by the similarity of their surrounding context might enable developers to more rapidly understand how to use a function. To explore this idea, we designed and implemented Find Unique Usages, which extracts usages, computes a diff between pairs of usages, generates similarity scores, and uses these scores to form usage clusters. To evaluate this approach, we conducted a controlled experiment with 12 participants. We found that developers with Find Unique Usages were significantly faster, completing their task in 35% less time.

Keyphrases: code navigation, development environments, find usage, find usage tool, IntelliJ Idea, programming tools, software reuse

BibTeX entry
BibTeX does not have the right entry for preprints. This is a hack for producing the correct reference:
@Booklet{EasyChair:3479,
  author = {Emad Aghayi and Aaron Massey and Thomas D. LaToza},
  title = {Find Unique Usages: Helping Developers Understand Common Usages},
  howpublished = {EasyChair Preprint no. 3479},

  year = {EasyChair, 2020}}
Download PDFOpen PDF in browser