Nosso estudo revela os problemas persistentes de rótulos de erros nos conjuntos de dados existentes usados para tarefas de detecção de vulnerabilidades no código-fonte. Destacamos a necessidade de construir conjuntos de dados de alta qualidade coletados usando técnicas confiáveis. Aqui oferecemos nossa implementação dos modelos descritos em nosso artigo, incluindo DeepWuKong, SySeVr, VulDeePecker e dois métodos de remoção de ruído correspondentes (CL e DT). Os conjuntos de dados que usamos também estão listados abaixo.
configurações :
config files for deep learning models. In this work, we just use deepwukong.yaml, silver.yaml, and vuldeepecker.yaml.
modelos :
code files for deep learning models.
preparar_dados :
util files that prepare data for FFmpeg+qumu.
ferramentas :
program slice util files.
utilitários :
commonly used functions.
confiante_learning.py :
entrance of confident learning.
diferencial_training.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.
Você pode rastrear dados de vulnerabilidade do site oficial do SARD por meio do script:
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