Visible to the public A Neural Embedding for Source Code: Security Analysis and CWE Lists

TitleA Neural Embedding for Source Code: Security Analysis and CWE Lists
Publication TypeConference Paper
Year of Publication2020
AuthorsSaletta, Martina, Ferretti, Claudio
Conference Name2020 IEEE Intl Conf on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computing, Intl Conf on Cloud and Big Data Computing, Intl Conf on Cyber Science and Technology Congress (DASC/PiCom/CBDCom/CyberSciTech)
Date PublishedAug. 2020
PublisherIEEE
ISBN Number978-1-7281-6609-4
KeywordsAutonomic Security, composability, human factors, Java, Metrics, natural language processing, Pervasive Computing Security, pubcrawl, resilience, Resiliency, Scalability, security, Software, source code embedding, static analysis, supervised learning, Syntactics, Training, vulnerability classification
AbstractIn this paper, we design a technique for mapping the source code into a vector space and we show its application in the recognition of security weaknesses. By applying ideas commonly used in Natural Language Processing, we train a model for producing an embedding of programs starting from their Abstract Syntax Trees. We then show how such embedding is able to infer clusters roughly separating different classes of software weaknesses. Even if the training of the embedding is unsupervised and made on a generic Java dataset, we show that the model can be used for supervised learning of specific classes of vulnerabilities, helping to capture some features distinguishing them in code. Finally, we discuss how our model performs over the different types of vulnerabilities categorized by the CWE initiative.
URLhttps://ieeexplore.ieee.org/document/9251115
DOI10.1109/DASC-PICom-CBDCom-CyberSciTech49142.2020.00095
Citation Keysaletta_neural_2020