Litcius/Paper detail

Path-sensitive code embedding via contrastive learning for software vulnerability detection

Xiao Cheng, Guanqin Zhang, Haoyu Wang, Yulei Sui

202298 citationsDOI

Abstract

Machine learning and its promising branch deep learning have shown success in a wide range of application domains. Recently, much effort has been expended on applying deep learning techniques (e.g., graph neural networks) to static vulnerability detection as an alternative to conventional bug detection methods. To obtain the structural information of code, current learning approaches typically abstract a program in the form of graphs (e.g., data-flow graphs, abstract syntax trees), and then train an underlying classification model based on the (sub)graphs of safe and vulnerable code fragments for vulnerability prediction. However, these models are still insufficient for precise bug detection, because the objective of these models is to produce classification results rather than comprehending the semantics of vulnerabilities, e.g., pinpoint bug triggering paths, which are essential for static bug detection.

Topics & Concepts

Computer scienceArtificial intelligenceDeep learningVulnerability (computing)Abstract syntaxEmbeddingCode (set theory)SyntaxMachine learningSemantics (computer science)Abstract syntax treeProgramming languageComputer securitySet (abstract data type)Software Engineering ResearchSoftware Reliability and Analysis ResearchSoftware Testing and Debugging Techniques
Path-sensitive code embedding via contrastive learning for software vulnerability detection | Litcius