Efficacy of static analysis tools for software defect detection on open-source projects
Jones Yeboah, Saheed Popoola

TL;DR
This paper empirically compares static analysis tools across Java, C++, and Python, finding SonarQube to be the most effective for defect detection, providing insights for developers and researchers.
Contribution
It offers a comprehensive empirical evaluation of static analysis tools across multiple languages, highlighting their strengths and weaknesses.
Findings
SonarQube outperforms other tools in defect detection.
Evaluation metrics confirm SonarQube's superior performance.
Insights aid in selecting appropriate static analysis tools.
Abstract
In software practice, static analysis tools remain an integral part of detecting defects in software and there have been various tools designed to run the analysis in different programming languages like Java, C++, and Python. This paper presents an empirical comparison of popular static analysis tools for identifying software defects using several datasets using Java, C++, and Python code. The study used popular analysis tools such as SonarQube, PMD, Checkstyle, and FindBugs to perform the comparison based on using the datasets. The study also used various evaluation metrics such as Precision, Recall, and F1-score to determine the performance of each analysis tool. The study results show that SonarQube performs considerably well than all other tools in terms of its defect detection across the various three programming languages. These findings remain consistent with other existing…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software Engineering Techniques and Practices
