How Do API Documentation and Static Typing Affect API Usability?

被引:52
作者
Endrikat, Stefan [1 ]
Hanenberg, Stefan [1 ]
Robbes, Romain [2 ]
Stefik, Andreas [3 ]
机构
[1] Univ Duisburg Essen, Duisburg, Germany
[2] Univ Chile, PLEIAD DCC, Santiago, Chile
[3] Univ Nevada, Las Vegas, NV 89154 USA
来源
36TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2014) | 2014年
关键词
API Usability; Documentation; Static Type Systems; DESIGN; MAINTENANCE; KNOWLEDGE; PATTERN;
D O I
10.1145/2568225.2568299
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
When developers use Application Programming Interfaces (APIs), they often rely on documentation to assist their tasks. In previous studies, we reported evidence indicating that static type systems acted as a form of implicit documentation, benefiting developer productivity. Such implicit documentation is easier to maintain, given it is enforced by the compiler, but previous experiments tested users without any explicit documentation. In this paper, we report on a controlled experiment and an exploratory study comparing the impact of using documentation and a static or dynamic type system on a development task. Results of our study both confirm previous findings and show that the benefits of static typing are strengthened with explicit documentation, but that this was not as strongly felt with dynamically typed languages.
引用
收藏
页码:632 / 642
页数:11
相关论文
共 34 条
[21]  
Parnin C., CROWD DOCUMENTATION, V11
[22]  
Petre M, 2013, PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), P722, DOI 10.1109/ICSE.2013.6606618
[23]  
Pierce Benjamin C., 2002, Types and Programming Languages
[24]   Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance [J].
Prechelt, L ;
Unger-Lamprecht, B ;
Philippsen, M ;
Tichy, WF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2002, 28 (06) :595-606
[25]   A controlled experiment to assess the benefits of procedure argument type checking [J].
Prechelt, L ;
Tichy, WF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1998, 24 (04) :302-312
[26]   A field study of API learning obstacles [J].
Robillard, Martin P. ;
DeLine, Robert .
EMPIRICAL SOFTWARE ENGINEERING, 2011, 16 (06) :703-732
[27]  
Roehm T, 2012, PROC INT CONF SOFTW, P255, DOI 10.1109/ICSE.2012.6227188
[28]  
Spiza S., 2014, TYPE NAMES IN PRESS
[29]   An Empirical Investigation into Programming Language Syntax [J].
Stefik, Andreas ;
Siebert, Susanna .
ACM TRANSACTIONS ON COMPUTING EDUCATION, 2013, 13 (04)
[30]   PROGRAM READABILITY - PROCEDURES VERSUS COMMENTS [J].
TENNY, T .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1988, 14 (09) :1271-1279