Finding 709 Defects in 258 Projects: An Experience Report on Applying CodeQL to Open-Source Embedded Software (Experience Paper) -- Extended Report
Mingjie Shen, Akul Abhilash Pillai, Brian A. Yuan, James C. Davis,, Aravind Machiry

TL;DR
This paper reports on a large-scale empirical study of static analysis tools in open-source embedded software, revealing limited current use, and demonstrating the effectiveness of CodeQL in identifying security defects, with many confirmed and fixed.
Contribution
It provides the first large-scale evaluation of CodeQL in EMBOSS projects, showing its effectiveness and promoting adoption of advanced SAST tools in embedded open-source software.
Findings
CodeQL identified 709 defects across 258 projects.
75% of detected issues were likely security vulnerabilities.
Over half of the defects were confirmed and fixed by developers.
Abstract
In this experience paper, we report on a large-scale empirical study of Static Application Security Testing (SAST) in Open-Source Embedded Software (EMBOSS) repositories. We collected a corpus of 258 of the most popular EMBOSS projects, and then measured their use of SAST tools via program analysis and a survey (N=25) of their developers. Advanced SAST tools are rarely used -- only 3% of projects go beyond trivial compiler analyses. Developers cited the perception of ineffectiveness and false positives as reasons for limited adoption. Motivated by this deficit, we applied the state-of-the-art (SOTA) CodeQL SAST tool and measured its ease of use and actual effectiveness. Across the 258 projects, CodeQL reported 709 true defects with a false positive rate of 34%. There were 535 (75%) likely security vulnerabilities, including in major projects maintained by Microsoft, Amazon, and the…
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 Reliability and Analysis Research · Information and Cyber Security · Security and Verification in Computing
