{"title":"VULOC: Vulnerability location framework based on assembly code slicing","authors":"Xinghang Lv , Jianming Fu , Tao Peng","doi":"10.1016/j.jss.2025.112459","DOIUrl":null,"url":null,"abstract":"<div><div>Automated detection of software vulnerabilities is an important topic in software security. Although the currently proposed deep learning-based approaches are effective in detecting vulnerabilities, their lack of accuracy in pinpointing the location of vulnerabilities leads to significant limitations in real-world usage. To address the above problem, we propose a vulnerability location framework based on assembly code slicing, VULOC, which achieves high detection capability and localization accuracy. VULOC first compiles C/C++ programs to obtain assembly code containing addresses. Then we use Addr2line to generate the mapping between assembly code and source code line numbers, and slice the assembly code into code blocks, which are encoded into the neural network model. Finally, we propose the BLSTM-LOC model for learning vulnerability features and predicting vulnerability locations. To the best of our knowledge, it is the first time that the mapping relationship between assembly code and source code line numbers is exploited for vulnerability detection. Experimental results show that VULOC exhibits higher performance than the current state-of-the-art vulnerability detection methods, both on existing datasets and real-world software products in vulnerability detection.</div></div>","PeriodicalId":51099,"journal":{"name":"Journal of Systems and Software","volume":"227 ","pages":"Article 112459"},"PeriodicalIF":3.7000,"publicationDate":"2025-04-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of Systems and Software","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S016412122500127X","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
Automated detection of software vulnerabilities is an important topic in software security. Although the currently proposed deep learning-based approaches are effective in detecting vulnerabilities, their lack of accuracy in pinpointing the location of vulnerabilities leads to significant limitations in real-world usage. To address the above problem, we propose a vulnerability location framework based on assembly code slicing, VULOC, which achieves high detection capability and localization accuracy. VULOC first compiles C/C++ programs to obtain assembly code containing addresses. Then we use Addr2line to generate the mapping between assembly code and source code line numbers, and slice the assembly code into code blocks, which are encoded into the neural network model. Finally, we propose the BLSTM-LOC model for learning vulnerability features and predicting vulnerability locations. To the best of our knowledge, it is the first time that the mapping relationship between assembly code and source code line numbers is exploited for vulnerability detection. Experimental results show that VULOC exhibits higher performance than the current state-of-the-art vulnerability detection methods, both on existing datasets and real-world software products in vulnerability detection.
期刊介绍:
The Journal of Systems and Software publishes papers covering all aspects of software engineering and related hardware-software-systems issues. All articles should include a validation of the idea presented, e.g. through case studies, experiments, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited to:
•Methods and tools for, and empirical studies on, software requirements, design, architecture, verification and validation, maintenance and evolution
•Agile, model-driven, service-oriented, open source and global software development
•Approaches for mobile, multiprocessing, real-time, distributed, cloud-based, dependable and virtualized systems
•Human factors and management concerns of software development
•Data management and big data issues of software systems
•Metrics and evaluation, data mining of software development resources
•Business and economic aspects of software development processes
The journal welcomes state-of-the-art surveys and reports of practical experience for all of these topics.