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 条
[1]   The impact of UML documentation on software maintenance: An experimental evaluation [J].
Arisholm, Erik ;
Briand, Lionel C. ;
Hove, Siw Elisabeth ;
Labiche, Yvan .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (06) :365-381
[2]   Predicting maintenance performance using object-oriented design complexity metrics [J].
Bandi, RK ;
Vaishnavi, VK ;
Turk, DE .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2003, 29 (01) :77-87
[4]  
Bruce KimB., 2002, Foundations of Object-Oriented Languages: Types and Semantics
[5]  
ClaesWohlin Per Runeson, 2012, Experimentation in Software Engineering
[6]  
Dagenais B., 2010, P 18 INT S FDN SOFTW, P127
[7]   Reading the Documentation of Invoked API Functions in Program Comprehension [J].
Dekel, Uri ;
Herbsleb, James D. .
ICPC: 2009 IEEE 17TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, 2009, :168-177
[8]   Improving API Documentation Usability with Knowledge Pushing [J].
Dekel, Uri ;
Herbsleb, James D. .
2009 31ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2009, :320-330
[9]  
Denny Paul., 2012, P 17 ACM ANN C INN T, P75, DOI DOI 10.1145/2325296.2325318
[10]  
Duala-Ekoko E, 2012, PROC INT CONF SOFTW, P266, DOI 10.1109/ICSE.2012.6227187