ExplainabilitySafetySecuritycs.SE
Software Vulnerability Prediction Knowledge Transferring Between Programming Languages
Khadija Hanifi, Ramin F Fouladi, Basak Gencer Unsalver, Goksu Karadag
March 10, 2023
International Conference on Evaluation of Novel Approaches to Software Engineering
6 citations
Key Takeaways
-
Transfer learning can help detect vulnerabilities across programming languages: The researchers successfully trained a vulnerability detection model on C code and adapted it to detect vulnerabilities in Java code, achieving an average recall of 72%, suggesting that security insights learned from one language can be applied to others where training data is scarce.
-
Data scarcity is a significant barrier to AI-based security tools: The paper identifies the lack of code samples for different programming languages as "one of the biggest challenges" in developing automated vulnerability detection, highlighting why AI security solutions may be unevenly available across the software development ecosystem.
-
Explainability matters for understanding AI security decisions: The researchers used explainable AI techniques to investigate which features contributed to the model's ability to transfer knowledge between languages, emphasizing that understanding how an AI makes security decisions is as important as whether it makes correct ones.
-
Benchmark datasets enable reproducible security research: The study relied on established datasets (NIST SARD and Draper VDISC) to train and evaluate their model, demonstrating the importance of standardized, publicly available datasets for developing and validating responsible AI approaches to cybersecurity.