2020
DOI: 10.1109/access.2020.3041181
|View full text |Cite
|
Sign up to set email alerts
|

Vulnerable Code Detection Using Software Metrics and Machine Learning

Abstract: Software metrics are widely-used indicators of software quality and several studies have shown that such metrics can be used to estimate the presence of vulnerabilities in the code. In this paper, we present a comprehensive experiment to study how effective software metrics can be to distinguish the vulnerable code units from the non-vulnerable ones. To this end, we use several machine learning algorithms (Random Forest, Extreme Boosting, Decision Tree, SVM Linear, and SVM Radial) to extract vulnerability-rela… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
10
0

Year Published

2022
2022
2024
2024

Publication Types

Select...
5
2
1
1

Relationship

0
9

Authors

Journals

citations
Cited by 26 publications
(10 citation statements)
references
References 62 publications
0
10
0
Order By: Relevance
“…The traditional vulnerability detection approach based on deep learning involves detecting differences in expert metrics [23][24][25]. However, code metrics may sometimes be identical, leading to misjudgment.…”
Section: Graph-based Vulnerability Detectionmentioning
confidence: 99%
“…The traditional vulnerability detection approach based on deep learning involves detecting differences in expert metrics [23][24][25]. However, code metrics may sometimes be identical, leading to misjudgment.…”
Section: Graph-based Vulnerability Detectionmentioning
confidence: 99%
“…It was also observed that Artificial Neural Network (ANN) is the most widely applied algorithm and Linear Regression being the least preferred technique. In [16], the author talks about applying machine learning technique to the implementation phase. He suggests how to detect vulnerable or faulty code in the software.…”
Section: Related Workmentioning
confidence: 99%
“…To evaluate our criterion under realistic conditions, we selected for each subject program the model plus cutoff value that found at least 90% of the bug-triggering and thus vulnerable functions, while also flagging the fewest functions reachable 7 from the fuzz entry. We chose this detection rate threshold because it is a realistic value, as shown by our evaluation (see Section 5.1) and related studies [40,54,55].…”
Section: Selected Models and Cutoffsmentioning
confidence: 99%
“…Most of the existing studies on ML-based vulnerability prediction consider one specific class of features instead of several. Such studies usually adopt software metrics (such as complexity, code churn, and developer activity) [34,54,55,59,73], text mining [21,73,77], or static code analysis (e.g., data/control-flow and/or taint checking) [40,62,68]. Interestingly, some of these studies have also found that the comparably simple features can compete with and sometimes even outperform the more complex ones.…”
Section: Related Workmentioning
confidence: 99%