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
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: 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. Objective: To investigate how currently available machine learning-based vulnerability detection mechanisms can support developers in the detection of vulnerabilities at commit-level. Method: 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. Results: 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. Conclusion: 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 [16929]