Why and How JavaScript Developers Use Linters Master’s Thesis Krist´ın Fjola´ Tomasd´ ottir´ Why and How JavaScript Developers Use Linters THESIS submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE in COMPUTER SCIENCE by Krist´ın Fjola´ Tomasd´ ottir´ born in Reykjav´ık, Iceland Software Engineering Research Group Department of Software Technology Faculty EEMCS, Delft University of Technology Delft, the Netherlands www.ewi.tudelft.nl c 2017 Krist´ın Fjola´ Tomasd´ ottir.´ All rights reserved. Why and How JavaScript Developers Use Linters Author: Krist´ın Fjola´ Tomasd´ ottir´ Student id: 4518063 Email:
[email protected] Abstract A linter is a type of static analysis tool that warns software developers about pos- sible errors in code 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, and code can be kept more readable and maintainable. For such a tool to be successful, it is important for its creators to understand the needs and challenges of developers when using a linter. Furthermore, it needs to be made clear to developers why using such a tool can be beneficial, along with how linters can be configured to identify appropriate and relevant issues for their projects. In this thesis, we examine developers’ perceptions of linters to increase our knowl- edge on these tools for JavaScript, the most widely used programming language in the world today. More specifically, we study why and how developers use ESLint, the most popular JavaScript linter, along with the challenges that they face while using the tool.