Litcius/Paper detail

Vulnerability Prediction From Source Code Using Machine Learning

Zeki Bilgin, Mehmet Ersoy, Elif Üstündağ Soykan, Emrah Tomur, Pınar Çomak, Leyli Karaçay

2020IEEE Access107 citationsDOIOpen Access PDF

Abstract

As the role of information and communication technologies gradually increases in our lives, software security becomes a major issue to provide protection against malicious attempts and to avoid ending up with noncompensable damages to the system. With the advent of data-driven techniques, there is now a growing interest in how to leverage machine learning (ML) as a software assurance method to build trustworthy software systems. In this study, we examine how to predict software vulnerabilities from source code by employing ML prior to their release. To this end, we develop a source code representation method that enables us to perform intelligent analysis on the Abstract Syntax Tree (AST) form of source code and then investigate whether ML can distinguish vulnerable and nonvulnerable code fragments. To make a comprehensive performance evaluation, we use a public dataset that contains a large amount of function-level real source code parts mined from open-source projects and carefully labeled according to the type of vulnerability if they have any.We show the effectiveness of our proposed method for vulnerability prediction from source code by carrying out exhaustive and realistic experiments under different regimes in comparison with state-of-art methods.

Topics & Concepts

Computer scienceVulnerability (computing)Code (set theory)Source codeArtificial intelligenceMachine learningProgramming languageComputer securitySet (abstract data type)Software Engineering ResearchAdvanced Malware Detection TechniquesSoftware Reliability and Analysis Research
Vulnerability Prediction From Source Code Using Machine Learning | Litcius