• DocumentCode
    3600179
  • Title

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

  • Author

    Sushine, Joshua ; Herbsleb, James D. ; Aldrich, Jonathan

  • fYear
    2015
  • Firstpage
    82
  • Lastpage
    93
  • Abstract
    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.
  • Keywords
    Documentation; Java; Libraries; Programming; Protocols; Sockets; Usability; APIs; protocols; qualitative research; typestate;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Program Comprehension (ICPC), 2015 IEEE 23rd International Conference on
  • Type

    conf

  • DOI
    10.1109/ICPC.2015.17
  • Filename
    7181435