Please use this identifier to cite or link to this item: https://doi.org/10.21256/zhaw-19308
Publication type: Article in scientific journal
Type of review: Peer review (publication)
Title: How developers engage with static analysis tools in different contexts
Authors: Vassallo, Carmine
Panichella, Sebastiano
Palomba, Fabio
Proksch, Sebastian
Gall, Harald C.
Zaidman, Andy
et. al: No
DOI: 10.1007/s10664-019-09750-5
10.21256/zhaw-19308
Published in: Empirical Software Engineering
Volume(Issue): 2020
Issue: 25
Page(s): 1419
Pages to: 1457
Issue Date: 2020
Publisher / Ed. Institution: Springer
ISSN: 1382-3256
1573-7616
Language: English
Subjects: Static analysis tools; Development context; Continuous integration; Code review; Empirical study
Subject (DDC): 005: Computer programming, programs and data
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.
Further description: This is a post-peer-review, pre-copyedit version of an article published in Empirical Software Engineering. The final authenticated version is available online at: http://dx.doi.org/10.1007/s10664-019-09750-5
URI: https://digitalcollection.zhaw.ch/handle/11475/19308
Fulltext version: Accepted version
License (according to publishing contract): Licence according to publishing contract
Departement: School of Engineering
Organisational Unit: Institute of Applied Information Technology (InIT)
Appears in collections:Publikationen School of Engineering

Files in This Item:
File Description SizeFormat 
2020_Vassallo-etal_How-developers-engage-with-static-analysis-tools-in-different-contexts.pdfAccepted Version598.04 kBAdobe PDFThumbnail
View/Open
Show full item record
Vassallo, C., Panichella, S., Palomba, F., Proksch, S., Gall, H. C., & Zaidman, A. (2020). How developers engage with static analysis tools in different contexts. Empirical Software Engineering, 2020(25), 1419–1457. https://doi.org/10.1007/s10664-019-09750-5
Vassallo, C. et al. (2020) ‘How developers engage with static analysis tools in different contexts’, Empirical Software Engineering, 2020(25), pp. 1419–1457. Available at: https://doi.org/10.1007/s10664-019-09750-5.
C. Vassallo, S. Panichella, F. Palomba, S. Proksch, H. C. Gall, and A. Zaidman, “How developers engage with static analysis tools in different contexts,” Empirical Software Engineering, vol. 2020, no. 25, pp. 1419–1457, 2020, doi: 10.1007/s10664-019-09750-5.
VASSALLO, Carmine, Sebastiano PANICHELLA, Fabio PALOMBA, Sebastian PROKSCH, Harald C. GALL und Andy ZAIDMAN, 2020. How developers engage with static analysis tools in different contexts. Empirical Software Engineering. 2020. Bd. 2020, Nr. 25, S. 1419–1457. DOI 10.1007/s10664-019-09750-5
Vassallo, Carmine, Sebastiano Panichella, Fabio Palomba, Sebastian Proksch, Harald C. Gall, and Andy Zaidman. 2020. “How Developers Engage with Static Analysis Tools in Different Contexts.” Empirical Software Engineering 2020 (25): 1419–57. https://doi.org/10.1007/s10664-019-09750-5.
Vassallo, Carmine, et al. “How Developers Engage with Static Analysis Tools in Different Contexts.” Empirical Software Engineering, vol. 2020, no. 25, 2020, pp. 1419–57, https://doi.org/10.1007/s10664-019-09750-5.


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.