Just-in-time software vulnerability detection: Are we there yet?
Lomio, Francesco; Iannone, Emanuele; De Lucia, Andrea; Palomba, Fabio; Lenarduzzi, Valentina (2022-02-21)
Lomio, Francesco
Iannone, Emanuele
De Lucia, Andrea
Palomba, Fabio
Lenarduzzi, Valentina
21.02.2022
Journal of Systems and Software
111283
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202203222681
https://urn.fi/URN:NBN:fi:tuni-202203222681
Kuvaus
Peer reviewed
Tiivistelmä
Background:<br/>Software vulnerabilities are weaknesses in source code that might be exploited to cause harm or loss. Previous work has proposed a number of automated machine learning approaches to detect them. Most of these techniques work at release-level, meaning that they aim at predicting the files that will potentially be vulnerable in a future release. Yet, researchers have shown that a commit-level identification of source code issues might better fit the developer’s needs, speeding up their resolution.<br/><br/>Objective:<br/>To investigate how currently available machine learning-based vulnerability detection mechanisms can support developers in the detection of vulnerabilities at commit-level.<br/><br/>Method:<br/>We perform an empirical study where we consider nine projects accounting for 8991 commits and experiment with eight machine learners built using process, product, and textual metrics.<br/><br/>Results:<br/>We point out three main findings: (1) basic machine learners rarely perform well; (2) the use of ensemble machine learning algorithms based on boosting can substantially improve the performance; and (3) the combination of more metrics does not necessarily improve the classification capabilities.<br/><br/>Conclusion:<br/>Further research should focus on just-in-time vulnerability detection, especially with respect to the introduction of smart approaches for feature selection and training strategies.
Kokoelmat
- TUNICRIS-julkaisut [20161]