Enhancing Security Assurance in Software Development: AI-Based Vulnerable Code Detection with Static Analysis


연구 분야: Verification



학회: European Symposium on Research in Computer Security


초록

The presence of vulnerable source code in software applications is causing significant reliability and security issues, which can be mitigated by integrating and assuring software security principles during the early stages of the development lifecycle. One promising approach to identifying vulnerabilities in source code is the use of Artificial Intelligence (AI). This research proposes an AI-based method for detecting source code vulnerabilities and leverages Explainable AI to help developers identify and understand vulnerable source code tokens. To train the model, a web crawler was used to collect a real-world dataset of 600,000 source code samples, which were annotated using static analysers. Several ML classifiers were tested on a feature vector generated using Natural Language Processing techniques. The Random Forest and Extreme Gradient Boosting classifiers were found to perform well in binary and multi-class approaches, respectively. The proposed model achieved a 0.96 F1-Score in binary classification and a 0.85 F1-Score in multi-class classification based on Common Weakness Enumeration (CWE) IDs. The model, trained on a dataset of actual source codes, is highly generalisable and has been integrated into a live web portal to validate its performance on real-world code vulnerabilities.


Author Profile
Sampath Rajapaksha

School of Computing Robert Gordon University Aberdeen AB10 7QB UK

정보 없음
Author Profile
Janaka Senanayake

School of Computing Robert Gordon University Aberdeen AB10 7QB UK

정보 없음
Author Profile
Harsha Kalutarage

School of Computing Robert Gordon University Aberdeen AB10 7QB UK

정보 없음

📄 논문 정보

발행 연도 2024년
인용수 0
출판 국가 Andorra
사이트 Springer
좋아요 수 0

연관 논문 목록 (496건)