论文标题
查找独特的用法:帮助开发人员了解常见用法
Find Unique Usages: Helping Developers Understand Common Usages
论文作者
论文摘要
在大型且复杂的代码库中工作时,开发人员使用\ textit {查找用法}面对挑战,以了解如何重复使用类和方法。为了更好地了解这些挑战,我们对4名参与者进行了一项小型探索性研究。我们发现,开发人员经常浪费时间阅读相似用法的长列表,或者过早地专注于单个用法。基于这些发现,我们假设通过其周围环境的相似性来聚类用法可能会使开发人员能够更迅速地了解如何使用函数。为了探索这个想法,我们设计和实现了\ textit {find in unique用法},该{unique用法}提取用法,计算两对用法之间的差异,生成相似性分数,并使用这些分数来形成使用簇。为了评估这种方法,我们对12名参与者进行了对照实验。我们发现,发现独特用途的开发人员要快得多,在减少35%的时间内完成任务。
When working in large and complex codebases, developers face challenges using \textit{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 \textit{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.