Web APIs may have constraints on parameters, such that not all parameters are either always required or always optional. Moreover, the presence or value of one parameter could cause another parameter to be required, or parameters could have restrictions on what kinds of values are valid. Having a clear overview of the constraints helps API consumers to integrate without the need for additional support and with fewer integration faults. We made use of existing documentation and code analysis approaches for identifying parameter constraints in complex web APIs. In this paper, we report our case study of several APIs at Adyen, a large-scale payment company that offers complex Web APIs to its customers. Our results show that the documentation- and code-based approach can identify 23% and 53% of the constraints respectively and, when combined, 68% of them. We also reflect on the current challenges that these approaches face. In particular, the absence of information that explicitly describes the constraints in the documentation (in the documentation analysis), and the engineering of a sound static code analyser that is sensitive to data-flow, maintains longer parameter references throughout the API's code, and that is able to symbolically execute the several libraries and frameworks used by the API (in the static analysis).


翻译:网页API可能会对参数有限制,因此并非所有参数都总是需要或总是有选择。此外,一个参数的存在或价值可能导致需要另一个参数,或参数可能对何种值有效有限制。如果对这些制约因素有一个清楚的概览,就会帮助API消费者在不需要额外支持和一体化缺陷较少的情况下整合。我们利用现有的文档和代码分析方法来确定复杂的网络API的参数限制。在本文中,我们报告了我们对Adyen的多个固定代码分析器的案例研究,Adyen是一家大型支付公司,向客户提供复杂的网络API。我们的结果表明,基于文件和代码的方法可以分别确定23%和53%的限制,加起来,68%的限制。我们还反思了这些方法目前面临的挑战。特别是,缺乏明确描述文件(在文件分析中)限制的信息,并且没有对数据流敏感的可靠固定代码分析器的工程设计,在整个API代码中保持更长的参数参考,并且能够象征性地执行一些静态图书馆和框架(在API中使用的静态分析)。

0
下载
关闭预览

相关内容

【2020新书】Web应用安全,331页pdf
专知会员服务
23+阅读 · 2020年10月24日
专知会员服务
39+阅读 · 2020年9月6日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
polyglot:Pipeline 多语言NLP工具
AINLP
4+阅读 · 2018年12月11日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Reinforcement Learning for Test Case Prioritization
Arxiv
0+阅读 · 2021年3月25日
Arxiv
0+阅读 · 2021年3月25日
Phase-aware Speech Enhancement with Deep Complex U-Net
Arxiv
6+阅读 · 2018年6月18日
VIP会员
相关VIP内容
【2020新书】Web应用安全,331页pdf
专知会员服务
23+阅读 · 2020年10月24日
专知会员服务
39+阅读 · 2020年9月6日
强化学习最新教程,17页pdf
专知会员服务
174+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
TensorFlow 2.0 学习资源汇总
专知会员服务
66+阅读 · 2019年10月9日
机器学习相关资源(框架、库、软件)大列表
专知会员服务
39+阅读 · 2019年10月9日
【哈佛大学商学院课程Fall 2019】机器学习可解释性
专知会员服务
103+阅读 · 2019年10月9日
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
【TED】生命中的每一年的智慧
英语演讲视频每日一推
9+阅读 · 2019年1月29日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
polyglot:Pipeline 多语言NLP工具
AINLP
4+阅读 · 2018年12月11日
Hierarchical Disentangled Representations
CreateAMind
4+阅读 · 2018年4月15日
计算机类 | 期刊专刊截稿信息9条
Call4Papers
4+阅读 · 2018年1月26日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【学习】Hierarchical Softmax
机器学习研究会
4+阅读 · 2017年8月6日
Top
微信扫码咨询专知VIP会员