Software Vulnerability Prediction Knowledge Transferring Between Programming Languages
Developing automated and smart software vulnerability detection models has been receiving great attention from both research and development communities. One of the biggest challenges in this area is the lack of code samples for all different programming languages. In this study, we address this issue by proposing a transfer learning technique to leverage available datasets and generate a model to detect common vulnerabilities in different programming languages. We use C source code samples to train a Convolutional Neural Network (CNN) model, then, we use Java source code samples to adopt and evaluate the learned model. We use code samples from two benchmark datasets: NIST Software Assurance Reference Dataset (SARD) and Draper VDISC dataset. The results show that proposed model detects vulnerabilities in both C and Java codes with average recall of 72\%. Additionally, we employ explainable AI to investigate how much each feature contributes to the knowledge transfer mechanisms between C and Java in the proposed model.
Code (0)
등록된 구현이 없습니다.
Tasks
PredictionTransfer LearningVulnerability DetectionSimilar Papers 제목 키워드 기반
Constructing a Knowledge Graph from Textual Descriptions of Software Vulnerabilities in the National Vulnerability Database
Knowledge graphs have shown promise for several cybersecurity tasks, such as vulnerability assessment and threat analysis. In this work, we present a new method for constructing a vulnerability knowledge graph from infor…
Knowledge Graph EmbeddingsKnowledge Graphsnamed-entity-recognitionNamed Entity Recognition+3Explaining the Contributing Factors for Vulnerability Detection in Machine Learning
There is an increasing trend to mine vulnerabilities from software repositories and use machine learning techniques to automatically detect software vulnerabilities. A fundamental but unresolved research question is: how…
Vulnerability DetectionBringing Order Amidst Chaos: On the Role of Artificial Intelligence in Secure Software Engineering
Context. Developing secure and reliable software remains a key challenge in software engineering (SE). The ever-evolving technological landscape offers both opportunities and threats, creating a dynamic space where chaos…
PredictionTowards an Improved Understanding of Software Vulnerability Assessment Using Data-Driven Approaches
The thesis advances the field of software security by providing knowledge and automation support for software vulnerability assessment using data-driven approaches. Software vulnerability assessment provides important an…
MVD: A Multi-Lingual Software Vulnerability Detection Framework
Software vulnerabilities can result in catastrophic cyberattacks that increasingly threaten business operations. Consequently, ensuring the safety of software systems has become a paramount concern for both private and p…
Incremental LearningVulnerability Detection