SHERLOCK: A Deep Learning Approach To Detect Software Vulnerabilities
Saadh Jawwadh, Guhanathan Poravi

TL;DR
This paper introduces SHERLOCK, a deep learning model using CNNs to improve software vulnerability detection accuracy over traditional static and dynamic analysis methods.
Contribution
It presents a novel CNN-based approach for function-level vulnerability detection, demonstrating high accuracy and effectiveness for specific CWE categories.
Findings
Successfully detects multiple vulnerabilities with high accuracy
Performs well on CWE-199, CWE-120, and CWE-Other
Less reliable for some vulnerabilities due to dataset limitations
Abstract
The increasing reliance on software in various applications has made the problem of software vulnerability detection more critical. Software vulnerabilities can lead to security breaches, data theft, and other negative outcomes. Traditional software vulnerability detection techniques, such as static and dynamic analysis, have been shown to be ineffective at detecting multiple vulnerabilities. To address this issue, this study employed a deep learning approach, specifically Convolutional Neural Networks (CNN), to solve the software vulnerability detection problem. A 5-split cross-validation approach was used to train and evaluate the CNN model, which takes tokenized source code as input. The findings indicated that Sherlock successfully detected multiple vulnerabilities at the function level, and its performance was particularly strong for CWE-199, CWE-120, and CWE-Other, with an…
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
TopicsInformation and Cyber Security · Software Engineering Research · Web Application Security Vulnerabilities
