An empirical study of the influence of static type systems on the usability of undocumented software
Although the study of static and dynamic type systems plays a major role in research, relatively little is known about the impact of type systems on software development. Perhaps one of the more common arguments for static type systems in languages such as Java or C++ is that they require developers to annotate their code with type names, which is thus claimed to improve the documentation of software. In contrast, one common argument against static type systems is that they decrease flexibility, which may make them harder to use. While these arguments are found in the literature, rigorous empirical evidence is lacking. We report on a controlled experiment where 27 subjects performed programming tasks on an undocumented API with a static type system (requiring type annotations) as well as a dynamic type system (which does not). Our results show that for some tasks, programmers had faster completion times using a static type system, while for others, the opposite held. We conduct an exploratory study to try and theorize why.
Related items
Showing items related by title, author, creator and subject.
-
Do static type systems improve the maintainability of software systems? An empirical study
Kleinschmager S; Hanenberg S; Robbes R; Tanter E; Stefik A (IEEE Computer Society, 2012)Static type systems play an essential role in contemporary programming languages. Despite their importance, whether static type systems influence human software development capabilities remains an open question. One ... -
4th Workshop on Emotions and Personality in Personalized Systems (EMPIRE) 2016; Boston, MA, USA, September 16th, 2016, Proceedings
Tkalcic M; De Carolis B; de Gemmis M; Kosir A (RWTH, 2016)This volume contains the papers presented at the 4th Workshop on Emotions and Personality in Personalized Systems (EMPIRE), hold as part of the 10th ACM Conference on Recommender System (RecSys), in Boston, MA, USA. ... -
The Strategic Value of Product Service System - An Empirical Investigation
Annarelli, Alessandro (Free University of Bozen-Bolzano, 2018)Product Service System is a business model focused toward the provision of a marketable set of products and services, designed to be economically, socially and environmentally sustainable, with the final aim of fulfilling ...