Download PDFOpen PDF in browserFind Unique Usages: Helping Developers Understand Common UsagesEasyChair Preprint 34798 pages•Date: May 24, 2020AbstractWhen 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: IntelliJ Idea, code navigation, development environments, find usage, find usage tool, programming tools, software reuse
|