Understanding How and Why Developers Seek and Analyze API-Related Opinions

Understanding How and Why Developers Seek and Analyze API-Related Opinions
复制标题

了解开发人员如何以及为何寻求和分析 API 相关意见

DOI:
--
复制
发表时间:
2019
影响因子:
7.4
通讯作者:
Foutse Khomh
Foutse Khomh
中科院分区:
计算机科学1区
文献类型:
--
作者:
Gias Uddin;Olga Baysal;Latifa Guerrouj;Foutse Khomh

文献摘要

被引文献

相似文献

随着作为非正式文档的在线开发人员论坛的出现和激增,开发人员经常分享他们对所使用的API的看法。因此,其他人的意见往往会影响开发人员对软件开发的看法和决策。例如,API的选择或如何重用API提供的功能在很大程度上取决于其他开发人员对API的看法。虽然许多开发人员参考并依赖这些关于API的意见丰富的信息,但我们发现很少有研究调查公众意见的使用和好处。为了了解开发人员如何寻求和评估API的意见,我们进行了两次调查,共涉及178名软件开发人员。我们从两个维度分析了数据,每个维度对应于与API审查相关的特定需求:(1)寻求API审查的需求,以及(2)评估审查的自动化工具支持的需求。我们观察到开发人员寻求API评论,并且经常必须针对不同的开发需求(例如,API适用性)。开发人员还有意识地努力判断所提供的意见的可信度,并相信对API评论分析的自动化工具支持可以帮助不同的开发场景,包括例如节省API选择的时间以及对特定API功能做出明智的决定。
With the advent and proliferation of online developer forums as informal documentation, developers often share their opinions about the APIs they use. Thus, opinions of others often shape the developer’s perception and decisions related to software development. For example, the choice of an API or how to reuse the functionality the API offers are, to a considerable degree, conditioned upon what other developers think about the API. While many developers refer to and rely on such opinion-rich information about APIs, we found little research that investigates the use and benefits of public opinions. To understand how developers seek and evaluate API opinions, we conducted two surveys involving a total of 178 software developers. We analyzed the data in two dimensions, each corresponding to specific needs related to API reviews: (1) Needs for seeking API reviews, and (2) Needs for automated tool support to assess the reviews. We observed that developers seek API reviews and often have to summarize those for diverse development needs (e.g., API suitability). Developers also make conscious efforts to judge the trustworthiness of the provided opinions and believe that automated tool support for API reviews analysis can assist in diverse development scenarios, including, for example, saving time in API selection as well as making informed decisions on a particular API features.