API Caveat Explorer -- Surfacing Negative Usages from Practice: An API-oriented Interactive Exploratory Search System for Programmers

API Caveat Explorer -- Surfacing Negative Usages from Practice: An API-oriented Interactive Exploratory Search System for Programmers
复制标题

DOI:
10.1145/3209978.3210170
复制
发表时间:
2018-06
期刊:
The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval
影响因子:
--
通讯作者:
J. Li;Aixin Sun;Zhenchang Xing;Lei Han
J. Li;Aixin Sun;Zhenchang Xing;Lei Han
中科院分区:
其他
文献类型:
--
作者:
J. Li;Aixin Sun;Zhenchang Xing;Lei Han

文献摘要

被引文献

相似文献

应用程序编程接口(API)文档很好地描述了一个API以及如何使用它。然而,官方文档并没有描述“如何不使用它”或者当一个API被错误地使用时的各种错误。编程警告是对API的负面使用。当这些警告被忽视时,错误可能会出现,导致像Stack Overflow这样的问答网站上的大量讨论。在本演示中,我们将介绍API Caveat Explorer,这是一个搜索系统,用于探索从Stack Overflow上的大规模非结构化讨论中挖掘的API警告。API Caveat Explorer采用面向API的查询(如“HashMap”),并通过文本摘要技术检索API警告。API警告用句子来表示,这些句子与上下文无关,突出,语义多样且无冗余。该系统提供了一个基于Web的界面,允许用户交互式地探索API的所有发现的警告的全貌,以及每个警告的细节。API Caveat Explorer的潜在用户是学习和教授API的程序员和教育工作者。
Application programming interface (API) documentation well describes an API and how to use it. However, official documentation does not describe "how not to use it" or the different kinds of errors when an API is used wrongly. Programming caveats are negative usages of an API. When these caveats are overlooked, errors may emerge, leading to heavy discussions on Q&A websites like Stack Overflow. In this demonstration, we present API Caveat Explorer, a search system to explore API caveats that are mined from large-scale unstructured discussions on Stack Overflow. API Caveat Explorer takes API-oriented queries such as "HashMap" and retrieves API caveats by text summarization techniques. API caveats are represented by sentences, which are context-independent, prominent, semantically diverse and non-redundant. The system provides a web-based interface that allows users to interactively explore the full picture of all discovered caveats of an API, and the details of each. The potential users of API Caveat Explorer are programmers and educators for learning and teaching APIs.