一句话:通过 Stack Overflow 实证分析 API 绕过式变通方案,归纳动因、解决方案与三种实现模式。
论文关注外部 API 无法满足全部需求或存在缺陷时,API 用户因迁移成本高而绕过现有 API 的行为。由于缺乏与 API 开发者的直接沟通,用户常先在在线社区询问 workaround,导致缺陷未被报告、潜在功能未被发现。作者对 Stack Overflow 上 API workaround 提问进行实证分析,归纳用户寻求变通的一般原因与常见解决方案,并从答案中的实现提炼出三种 API workaround 实现模式。随后在真实开源项目中识别这些模式,并通过 API 开发者对相关 feature request 的响应来评估这些 workaround 对 API 开发者的价值。
Application programming interfaces (APIs) have become ubiquitous in software development. However, external APIs are not guaranteed to contain every desirable feature, nor are they immune to software defects. Therefore, API users will sometimes be faced with situations where a current API does not satisfy all of their requirements, but migrating to another API is costly. In these cases, due to the lack of communication channels between API developers and users, API users may intentionally bypass an existing API after inquiring into workarounds for their API problems with online communities. This mechanism takes the API developer out of the conversation, potentially leaving API defects unreported and desirable API features undiscovered. In this paper we explore API workaround inquiries from API users on Stack Overflow. We uncover general reasons why API users inquire about API workarounds, and general solutions to API workaround requests. Furthermore, using workaround implementations in Stack Overflow answers, we develop three API workaround implementation patterns. We identify instances of these patterns in real-life open source projects and determine their value for API developers from their responses to feature requests based on the identified API workarounds.
DOI 原文 ·
@inproceedings{paperbot5606,
title = {When APIs are intentionally bypassed},
author = {Maxime Lamothe and Weiyi Shang},
booktitle = {ICSE},
year = {2020},
doi = {10.1145/3377811.3380433}
}