Improving Vulnerability Inspection Efficiency Using Active Learning
Not on the map. Why?
Abstract (arXiv)
Software engineers can find vulnerabilities with less effort if they are directed towards code that might contain more vulnerabilities. HARMLESS is an incremental support vector machine tool that builds a vulnerability prediction model from the sourcecode inspected to date, then suggests what source code files should be inspected next. In this way, HARMLESS can reduce the time and effort required to achieve some desired level of recall for finding vulnerabilities. The tool also provides feedback on when to stop (at that desired level of recall) while at the same time, correcting human errors by double-checking suspicious files. This paper evaluates HARMLESS on Mozilla Firefox vulnerability data. HARMLESS found 80, 90, 95, 99% of the vulnerabilities by inspecting 10, 16, 20, 34% of the source code files. When targeting 90, 95, 99% recall, HARMLESS could stop after inspecting 23, 30, 47% of the source code files. Even when human reviewers fail to identify half of the vulnerabilities (50% false negative rate), HARMLESScould detect 96% of the missing vulnerabilities by double-checking half of the inspected files. Our results serve to highlight the very steep cost of protecting software from vulnerabilities (in our case study that cost is, for example, the human effort of inspecting 28,750×20% = 5,750 source code files to identify 95% of the vulnerabilities). While this result could benefit the mission-critical projects where human resources are available for inspecting thousands of source code files, the research challenge for future work is how to further reduce that cost. The conclusion of this paper discusses various ways that goal might be achieved.
Key facts. Cited by 10 papers in the map (data through 7 Oct 2026). First posted on arXiv 17 Mar 2018.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 4; 2022: 1; 2023: 2; 2024: 1; 2025: 1; 2026: 1.
10 papers.
- 2025SPICE: An Automated SWE-Bench Labeling Pipeline for Issue Clarity, Test Coverage, and Effort Estimationcited by 11
- 2021FRUGAL: Unlocking SSL for Software Analyticscited by 6
- 2022DebtFree: Minimizing Labeling Cost in Self-Admitted Technical Debt Identification using Semi-Supervised Learningcited by 5
- 2021Fair-SSL: Building fair ML Software with less datacited by 4
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Taskscited by 4
- 2021Robust Active Learning: Sample-Efficient Training of Robust Deep Learning Modelscited by 2
- 2021Fairer Software Made Easier (using "Keys")cited by 0
- 2023Less, but Stronger: On the Value of Strong Heuristics in Semi-supervised Learning for Software Analyticscited by 0
- 2023ActiveClean: Generating Line-Level Vulnerability Data via Active Learningcited by 0
- 2026Agentic Repository Mining: A Multi-Task Evaluationcited by 0
- 2026Agentic Repository Mining: A Multi-Task Evaluation6 May 2026
- 2025SPICE: An Automated SWE-Bench Labeling Pipeline for Issue Clarity, Test Coverage, and Effort Estimation12 Jul 2025
- 2024A Survey of Source Code Representations for Machine Learning-Based Cybersecurity Tasks15 Mar 2024
- 2023ActiveClean: Generating Line-Level Vulnerability Data via Active Learning4 Dec 2023
- 2023Less, but Stronger: On the Value of Strong Heuristics in Semi-supervised Learning for Software Analytics3 Feb 2023
- 2022DebtFree: Minimizing Labeling Cost in Self-Admitted Technical Debt Identification using Semi-Supervised Learning25 Jan 2022
- 2021Robust Active Learning: Sample-Efficient Training of Robust Deep Learning Models5 Dec 2021
- 2021Fair-SSL: Building fair ML Software with less data3 Nov 2021
- 2021FRUGAL: Unlocking SSL for Software Analytics22 Aug 2021
- 2021Fairer Software Made Easier (using "Keys")11 Jul 2021