IRC-CLVul: Cross-Programming-Language Vulnerability Detection with Intermediate Representations and Combined Features

Tianwei Lei, Jingfeng Xue, Yong Wang, Zhenyan Liu*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

The most severe problem in cross-programming languages is feature extraction due to different tokens in different programming languages. To solve this problem, we propose a cross-programming-language vulnerability detection method in this paper, IRC-CLVul, based on intermediate representation and combined features. Specifically, we first converted programs in different programming languages into a unified LLVM intermediate representation (LLVM-IR) to provide a classification basis for different programming languages. Afterwards, we extracted the code sequences and control flow graphs of the samples, used the semantic model to extract the program semantic information and graph structure information, and concatenated them into semantic vectors. Finally, we used Random Forest to learn the concatenated semantic vectors and obtained the classification results. We conducted experiments on 85,811 samples from the Juliet test suite in C, C++, and Java. The results show that our method improved the accuracy by 7% compared with the two baseline algorithms, and the F1 score showed a 12% increase.

Original languageEnglish
Article number3067
JournalElectronics (Switzerland)
Volume12
Issue number14
DOIs
Publication statusPublished - Jul 2023

Keywords

  • combined features
  • cross-programming language
  • intermediate representation
  • software vulnerability detection
  • source code vulnerability detection

Fingerprint

Dive into the research topics of 'IRC-CLVul: Cross-Programming-Language Vulnerability Detection with Intermediate Representations and Combined Features'. Together they form a unique fingerprint.

Cite this