How Developers Engage with Static Analysis Tools in Different Contexts

Journal Article (2020)
Author(s)

Carmine Vassallo (Universitat Zurich)

Sebastiano Panichella (Universitat Zurich)

Fabio Palomba (University of Salerno)

Sebastian Proksch (TU Delft - Software Engineering)

A.E. Zaidman (TU Delft - Software Engineering)

HC Gall (Universitat Zurich)

Research Group
Software Engineering
Copyright
© 2020 Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, S. Proksch, A.E. Zaidman, HC Gall
DOI related publication
https://doi.org/10.1007/s10664-019-09750-5
More Info
expand_more
Publication Year
2020
Language
English
Copyright
© 2020 Carmine Vassallo, Sebastiano Panichella, Fabio Palomba, S. Proksch, A.E. Zaidman, HC Gall
Research Group
Software Engineering
Bibliographical Note
Green Open Access added to TU Delft Institutional Repository ‘You share, we take care!’ – Taverne project https://www.openaccess.nl/en/you-share-we-take-care Otherwise as indicated in the copyright section: the publisher is the copyright holder of this work and the author uses the Dutch legislation to make this work public. @en
Issue number
2
Volume number
25
Pages (from-to)
1419-1457
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 (ASATs) are instruments that support code quality assessment by automatically detecting defects and design issues. Despite their popularity, they are characterized by (i) a high false positive rate and (ii) the low comprehensibility of the generated warnings. However, no prior studies have investigated the usage of ASATs in different development contexts (e.g., code reviews, regular development), nor how open source projects integrate ASATs into their workflows. These perspectives are paramount to improve the prioritization of the identified warnings. To shed light on the actual ASATs usage practices, in this paper we first survey 56 developers (66% from industry and 34% from open source projects) and interview 11 industrial experts leveraging ASATs in their workflow with the aim of understanding how they use ASATs in different contexts. Furthermore, to investigate how ASATs are being used in the workflows of open source projects, we manually inspect the contribution guidelines of 176 open-source systems and extract the ASATs’ configuration and build files from their corresponding GitHub repositories. Our study highlights that (i) 71% of developers do pay attention to different warning categories depending on the development context; (ii) 63% of our respondents rely on specific factors (e.g., team policies and composition) when prioritizing warnings to fix during their programming; and (iii) 66% of the projects define how to use specific ASATs, but only 37% enforce their usage for new contributions. The perceived relevance of ASATs varies between different projects and domains, which is a sign that ASATs use is still not a common practice. In conclusion, this study confirms previous findings on the unwillingness of developers to configure ASATs and it emphasizes the necessity to improve existing strategies for the selection and prioritization of ASATs warnings that are shown to developers.

Files

Vassallo2020_Article_HowDevelo... (pdf)
(pdf | 3.28 Mb)
- Embargo expired in 01-07-2022
License info not available