A Longitudinal Study of Static Analysis Warning Evolution and the Effects of PMD on Software Quality in Apache Open Source Projects

by   Alexander Trautsch, et al.

Automated static analysis tools (ASATs) have become a major part of the software development workflow. Acting on the generated warnings, i.e., changing the code indicated in the warning, should be part of, at latest, the code review phase. Despite this being a best practice in software development, there is still a lack of empirical research regarding the usage of ASATs in the wild. In this work, we want to study ASAT warning trends in software via the example of PMD as an ASAT and its usage in open source projects. We analyzed the commit history of 54 projects (with 112,267 commits in total), taking into account 193 PMD rules and 61 PMD releases. We investigate trends of ASAT warnings over up to 17 years for the selected study subjects regarding changes of warning types, short and long term impact of ASAT use, and changes in warning severities. We found that large global changes in ASAT warnings are mostly due to coding style changes regarding braces and naming conventions. We also found that, surprisingly, the influence of the presence of PMD in the build process of the project on warning removal trends for the number of warnings per lines of code is small and not statistically significant. Regardless, if we consider defect density as a proxy for external quality, we see a positive effect if PMD is present in the build configuration of our study subjects.


page 1

page 2

page 3

page 4


State-Of-The-Practice in Quality Assurance in Java-Based Open Source Software Development

To ensure the quality of software systems, software engineers can make u...

Are automated static analysis tools worth it? An investigation into relative warning density and external software quality

Automated Static Analysis Tools (ASATs) are part of software development...

The Cost and Benefits of Static Analysis During Development

Without quantitative data, deciding whether and how to use static analys...

How do Developers Promote Open Source Projects?

Open source projects have an increasing importance on modern software de...

An Exploratory Study of Project Activity Changepoints in Open Source Software Evolution

To explore the prevalence of abrupt changes (changepoints) in open sourc...

The Broken Windows Theory Applies to Technical Debt

Context: The term technical debt (TD) describes the aggregation of sub-o...

Code Review Comments: Language Matters

Recent research provides evidence that effective communication in collab...

Please sign up or login with your details

Forgot password? Click here to reset