How Do Developers Act on Static Analysis Alerts? An Empirical Study of Coverity Usage
Autor: | Brendan Murphy, Laurie Williams, Nasif Imtiaz |
---|---|
Rok vydání: | 2019 |
Předmět: |
Source lines of code
Computer science 020207 software engineering Static program analysis 02 engineering and technology Commit Static analysis Data science Triage Open source Empirical research 020204 information systems 0202 electrical engineering electronic engineering information engineering Code (cryptography) |
Zdroj: | ISSRE |
DOI: | 10.1109/issre.2019.00040 |
Popis: | Static analysis tools (SATs) often fall short of developer satisfaction despite their many benefits. An understanding of how developers in the real-world act on the alerts detected by SATs can help improve the utility of these tools and determine future research directions. The goal of this paper is to aid researchers and tool makers in improving the utility of static analysis tools through an empirical study of developer action on the alerts detected by Coverity, a state-of-the-art static analysis tool. In this paper, we analyze five open source projects as case studies (Linux, Firefox, Samba, Kodi, and Ovirt-engine) that have been actively using Coverity over a period of at least five years. We investigate the alert occurrences and developer triage of the alerts from the Coverity database; identify the alerts that were fixed through code changes (i.e. actionable) by mining the commit history of the projects; analyze the time an alert remain in the code base (i.e. lifespan) and the complexity of code changes (i.e. fix complexity) in fixing the alert. We find that 27.4% to 49.5% (median: 36.7%) of the alerts are actionable across projects, a rate higher than previously reported. We also find that the fixes of Coverity alerts are generally low in complexity (2 to 7 lines of code changes in the affected file, median: 4). However, developers still take from 36 to 245 days (median: 96) to fix these alerts. Finally, our data suggest that severity and fix complexity may correlate with an alert's lifespan in some of the projects. |
Databáze: | OpenAIRE |
Externí odkaz: |