Наше исследование выявляет постоянные проблемы с метками ошибок в существующих наборах данных, используемых для задач обнаружения уязвимостей исходного кода. Мы подчеркиваем необходимость создания высококачественных наборов данных, собранных с использованием надежных методов. Здесь мы предлагаем нашу реализацию моделей, описанных в нашей статье, включая DeepWuKong, SySeVr, VulDeePecker и два соответствующих метода шумоподавления (CL и DT). Наборы данных, которые мы используем, также перечислены ниже.
конфиги :
config files for deep learning models. In this work, we just use deepwukong.yaml, silver.yaml, and vuldeepecker.yaml.
модели :
code files for deep learning models.
подготовить_данные :
util files that prepare data for FFmpeg+qumu.
инструменты :
program slice util files.
утилиты :
commonly used functions.
уверенно_learning.py :
entrance of confident learning.
дифференциальный_тренинг.py :
entrance of differential training.
dwk_train.py :
entrance of training deepwukong.
sys_train.py :
entrance of training sysevr.
vdp_train.py :
entrance of training vuldeepecker.
scrd_crawl.py :
code for crawling sard dataset.
Вы можете просканировать данные об уязвимостях с официального сайта SARD с помощью скрипта:
python sard_crawl.py
You can download it via this link.
Xu Nie, Ningke Li, Kailong Wang, Shangguang Wang, Xiapu Luo, and Haoyu Wang. 2023. Understanding and Tackling Label Errors in Deep Learning-based Vulnerability Detection. In Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA ’23), July 17–21, 2023, Seattle, WA, USA. ACM, New York, NY, USA, 12 pages. https://doi.org/10.1145/3597926.3598037