Why and How JavaScript Developers Use Linters

Conference Paper (2017)
Author(s)

Kristín Fjóla Tómasdóttir (External organisation)

Maurício Aniche (TU Delft - Software Engineering)

Arie Van Deursen (TU Delft - Software Technology)

Research Group
Software Engineering
Copyright
© 2017 Kristín Fjóla Tómasdóttir, Maurício Aniche, A. van Deursen
DOI related publication
https://doi.org/10.1109/ASE.2017.8115668
More Info
expand_more
Publication Year
2017
Language
English
Copyright
© 2017 Kristín Fjóla Tómasdóttir, Maurício Aniche, A. van Deursen
Research Group
Software Engineering
Pages (from-to)
578-589
ISBN (electronic)
978-1-5386-2684-9
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Automatic static analysis tools help developers to automatically spot code issues in their software. They can be of extreme value in languages with dynamic characteristics, such as JavaScript, where developers can easily introduce mistakes which can go unnoticed for a long time, e.g., a simple syntactic or spelling mistake. Although research has already shown how developers perceive such tools for strongly-typed languages such as Java, little is known about their perceptions when it comes to dynamic languages. In this paper, we investigate what motivates and how developers make use of such tools in JavaScript projects. To that goal, we apply a qualitative research method to conduct and analyze a series of 15 interviews with developers responsible for the linter configuration in reputable OSS JavaScript projects that apply the most commonly used linter, ESLint. The results describe the benefits that developers obtain when using ESLint, the different ways one can configure the tool and prioritize its rules, and the existing challenges in applying linters in the real world. These results have direct implications for developers, tool makers, and researchers, such as tool improvements, and a research agenda that aims to increase our knowledge about the usefulness of such analyzers.

Files

Ase2017.pdf
(pdf | 0.218 Mb)
License info not available