Standard

The Adoption of JavaScript Linters in Practice: A Case Study on ESLint. / Tómasdóttir, Kristín; Aniche, Maurício; van Deursen, Arie.

In: IEEE Transactions on Software Engineering, 2019.

Research output: Contribution to journalArticleScientificpeer-review

Harvard

APA

Vancouver

Author

Tómasdóttir, Kristín ; Aniche, Maurício ; van Deursen, Arie. / The Adoption of JavaScript Linters in Practice: A Case Study on ESLint. In: IEEE Transactions on Software Engineering. 2019.

BibTeX

@article{375bf549f2a249a78d3da4489a579f4c,
title = "The Adoption of JavaScript Linters in Practice: A Case Study on ESLint",
abstract = "A linter is a static analysis tool that warns software developers about possible code errors or violations to coding standards. By using such a tool, errors can be surfaced early in the development process when they are cheaper to fix. For a linter to be successful, it is important to understand the needs and challenges of developers when using a linter.In this paper, we examine developers' perceptions on JavaScript linters. We study why and how developers use linters along with the challenges they face while using such tools. For this purpose we perform a case study on ESLint, the most popular JavaScript linter. We collect data with three different methods where we interviewed 15 developers from well-known open source projects, analyzed over 9,500 ESLint configuration files, and surveyed 337 developers from the JavaScript community.Our results provide practitioners with reasons for using linters in their JavaScript projects as well as several configuration strategies and their advantages. We also provide a list of linter rules that are often enabled and disabled, which can be interpreted as the most important rules to reason about when configuring linters. Finally, we propose several feature suggestions for tool makers and future work for researchers.",
author = "Krist{\'i}n T{\'o}masd{\'o}ttir and Maur{\'i}cio Aniche and {van Deursen}, Arie",
year = "2019",
doi = "10.1109/TSE.2018.2871058",
language = "English",
journal = "IEEE Transactions on Software Engineering",
issn = "0098-5589",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

RIS

TY - JOUR

T1 - The Adoption of JavaScript Linters in Practice: A Case Study on ESLint

AU - Tómasdóttir, Kristín

AU - Aniche, Maurício

AU - van Deursen, Arie

PY - 2019

Y1 - 2019

N2 - A linter is a static analysis tool that warns software developers about possible code errors or violations to coding standards. By using such a tool, errors can be surfaced early in the development process when they are cheaper to fix. For a linter to be successful, it is important to understand the needs and challenges of developers when using a linter.In this paper, we examine developers' perceptions on JavaScript linters. We study why and how developers use linters along with the challenges they face while using such tools. For this purpose we perform a case study on ESLint, the most popular JavaScript linter. We collect data with three different methods where we interviewed 15 developers from well-known open source projects, analyzed over 9,500 ESLint configuration files, and surveyed 337 developers from the JavaScript community.Our results provide practitioners with reasons for using linters in their JavaScript projects as well as several configuration strategies and their advantages. We also provide a list of linter rules that are often enabled and disabled, which can be interpreted as the most important rules to reason about when configuring linters. Finally, we propose several feature suggestions for tool makers and future work for researchers.

AB - A linter is a static analysis tool that warns software developers about possible code errors or violations to coding standards. By using such a tool, errors can be surfaced early in the development process when they are cheaper to fix. For a linter to be successful, it is important to understand the needs and challenges of developers when using a linter.In this paper, we examine developers' perceptions on JavaScript linters. We study why and how developers use linters along with the challenges they face while using such tools. For this purpose we perform a case study on ESLint, the most popular JavaScript linter. We collect data with three different methods where we interviewed 15 developers from well-known open source projects, analyzed over 9,500 ESLint configuration files, and surveyed 337 developers from the JavaScript community.Our results provide practitioners with reasons for using linters in their JavaScript projects as well as several configuration strategies and their advantages. We also provide a list of linter rules that are often enabled and disabled, which can be interpreted as the most important rules to reason about when configuring linters. Finally, we propose several feature suggestions for tool makers and future work for researchers.

UR - http://www.scopus.com/inward/record.url?scp=85053636759&partnerID=8YFLogxK

U2 - 10.1109/TSE.2018.2871058

DO - 10.1109/TSE.2018.2871058

M3 - Article

JO - IEEE Transactions on Software Engineering

T2 - IEEE Transactions on Software Engineering

JF - IEEE Transactions on Software Engineering

SN - 0098-5589

ER -

ID: 46809545