中文

流体智力无关紧要!代码样例对加密API可用性的影响

软件工程 2020-04-09 v1 密码学与安全

摘要

背景:程序员经常寻找先前已解决问题的代码,并将其改造用于自己的问题。尽管网上(如Stack Overflow)存在示例代码,加密应用程序编程接口(API)仍常被误用。关于何种示例对开发者使用加密API有帮助知之甚少。类比问题解决是一种研究人们如何利用已知方案解决新问题的心理学理论。有证据表明,推理和解决新问题的能力即流体智力(Gf)以及结构和过程相似的方案有助于问题解决。目的:我们的目标是了解在使用加密API的情境中,相似性与Gf是否也会在代码样例的辅助下产生影响。方法:我们进行了一项有76名学生参与者受控实验,令其在有或没有过程相似示例、使用两种Java加密库之一的情况下开发,并测量了参与者的Gf以及对可用性(有效性、效率、满意度)和安全漏洞的影响。结果:我们观察到具有高过程相似性的代码样例对所有因变量均有强烈影响。流体智力Gf无影响。参与者使用哪种库也无差异。结论:示例代码必须与实际具体方案高度相似,而非非常抽象和通用,才能对开发任务产生积极作用。

关键词

引用

@article{arxiv.2004.03973,
  title  = {Fluid Intelligence Doesn't Matter! Effects of Code Examples on the Usability of Crypto APIs},
  author = {Kai Mindermann and Stefan Wagner},
  journal= {arXiv preprint arXiv:2004.03973},
  year   = {2020}
}

备注

2 pages