Searching the State Space: A Qualitative Study of API Protocol Usability

Searching the State Space: A Qualitative Study of API Protocol Usability
复制标题

DOI:
10.1109/icpc.2015.17
复制
发表时间:
2015-05
期刊:
2015 IEEE 23rd International Conference on Program Comprehension
影响因子:
--
通讯作者:
Joshua Sunshine;J. Herbsleb;Jonathan Aldrich
Joshua Sunshine;J. Herbsleb;Jonathan Aldrich
中科院分区:
其他
文献类型:
--
作者:
Joshua Sunshine;J. Herbsleb;Jonathan Aldrich

文献摘要

相似文献

应用程序编程接口(API)通常定义协议——限制客户端调用API方法的顺序。API协议是通用的,并且难以使用,这已经在替代规范、实现和验证技术方面产生了大量的研究工作。然而,人们对程序员在使用这些api时所面临的障碍知之甚少,因此研究工作可能会被误导。为了更好地理解这些障碍,我们进行了两部分定性研究。首先,我们研究开发人员论坛,以确定开发人员在使用协议时遇到的问题。其次,我们进行了一项有声思考观察研究,在该研究中,我们系统地观察了专业程序员与这些相同问题的斗争,以获得更多关于他们斗争本质的细节,以及他们如何使用可用资源。在我们的观察中,程序员的时间主要花在协议状态空间的四种搜索上。这些观察表明,如果以协议为目标的工具、语言和验证技术能够使程序员有效地执行状态搜索,那么它们将是最有效的。
Application Programming Interfaces (APIs) often define protocols -- restrictions on the order of client calls to API methods. API protocols are common and difficult to use, which has generated tremendous research effort in alternative specification, implementation, and verification techniques. However, little is understood about the barriers programmers face when using these APIs, and therefore the research effort may be misdirected. To understand these barriers better, we perform a two-part qualitative study. First, we study developer forums to identify problems that developers have with protocols. Second, we perform a think-aloud observational study, in which we systematically observe professional programmers struggle with these same problems to get more detail on the nature of their struggles and how they use available resources. In our observations, programmer time was spent primarily on four types of searches of the protocol state space. These observations suggest protocol-targeted tools, languages, and verification techniques will be most effective if they enable programmers to efficiently perform state search.