StagedVulBERT: Multi-Granular Vulnerability Detection with a Novel Pre-trained Code Model
<|reference_start|>StagedVulBERT: Multi-Granular Vulnerability Detection with a Novel Pre-trained Code Model: The emergence of pre-trained model-based vulnerability detection methods has significantly advanced the field of automated vulnerability detection. However, these methods still face several challenges, such as difficulty in learning effective feature representations of statements for fine-grained predictions and struggling to process overly long code sequences. To address these issues, this study introduces StagedVulBERT, a novel vulnerability detection framework that leverages a pre-trained code language model and employs a coarse-to-fine strategy. The key innovation and contribution of our research lies in the development of the CodeBERT-HLS component within our framework, specialized in hierarchical, layered, and semantic encoding. This component is designed to capture semantics at both the token and statement levels simultaneously, which is crucial for achieving more accurate multi-granular vulnerability detection. Additionally, CodeBERT-HLS efficiently processes longer code token sequences, making it more suited to real-world vulnerability detection. Comprehensive experiments demonstrate that our method enhances the performance of vulnerability detection at both coarse- and fine-grained levels. Specifically, in coarse-grained vulnerability detection, StagedVulBERT achieves an F1 score of 92.26%, marking a 6.58% improvement over the best-performing methods. At the fine-grained level, our method achieves a Top-5% accuracy of 65.69%, which outperforms the state-of-the-art methods by up to 75.17%.<|reference_end|>
@article{jiang2024stagedvulbert:,
    title={StagedVulBERT: Multi-Granular Vulnerability Detection with a Novel
  Pre-trained Code Model},
    author={Yuan Jiang, Yujian Zhang, Xiaohong Su, Christoph Treude and Tiantian
  Wang},
    journal={arXiv preprint arXiv:2410.05766},
    year={2024},
    archivePrefix={arXiv},
    eprint={2410.05766},
    primaryClass={cs.CR cs.SE}
}