Free Open Source Software libraries are ubiquitous and their security is crucial. Many assessment methodologies and tools have been proposed to evaluate the security of these libraries. However, many of these methodologies are hard to be applied in practice as they lack context information. This dissertation aims to develop methodologies that take contexts into account to increase their applicability and allow a better understanding of the assessment results in the field. The first part of this dissertation addresses the problem of providing a security indicator. It extends the idea of technical leverage to fully include transitive dependencies and reports an extensive validation on the top 21,205 Python library versions. It shows that the chance of picking a safe version in Python is higher than the traditionally reported ratio of safe package versions. The second part addresses the problem of forecasting future vulnerability. It proposes a methodology for forecasting the probability of a library being vulnerable, leveraging the evolution of the library's source codes and dependencies. This methodology is supported by another methodology that categorizes libraries across ecosystems. It was validated on 768 Java libraries with 1255 CVEs to demonstrate its effectiveness. The third part addresses the problem of evaluating vulnerability detection tools' effectiveness with available data in practice. It proposes a methodology to extract from a dataset the evolving knowledge a model will encounter in time. It reports a validation with 4 datasets and 5 ML-based tools. It shows that when trained on available data only, ML-based vulnerability detection tools performed worse than when trained with all retrospective data. Finally, the last part addresses the problem of evaluating the usability of vulnerability detection tools. It proposes an experiment design and workflow to allow human reviewers to evaluate the usability of ML-based vulnerability detection tools. The experiment was conducted with a sample of computer science master’s students and shows that the usability of the tools still needs to be improved.

Software Vulnerabilities in FOSS: From Assessment to Forecasting and Effective Usability / Paramitha, Ranindya. - (2025 Apr 11), pp. 1-229.

Software Vulnerabilities in FOSS: From Assessment to Forecasting and Effective Usability

Paramitha, Ranindya
2025-04-11

Abstract

Free Open Source Software libraries are ubiquitous and their security is crucial. Many assessment methodologies and tools have been proposed to evaluate the security of these libraries. However, many of these methodologies are hard to be applied in practice as they lack context information. This dissertation aims to develop methodologies that take contexts into account to increase their applicability and allow a better understanding of the assessment results in the field. The first part of this dissertation addresses the problem of providing a security indicator. It extends the idea of technical leverage to fully include transitive dependencies and reports an extensive validation on the top 21,205 Python library versions. It shows that the chance of picking a safe version in Python is higher than the traditionally reported ratio of safe package versions. The second part addresses the problem of forecasting future vulnerability. It proposes a methodology for forecasting the probability of a library being vulnerable, leveraging the evolution of the library's source codes and dependencies. This methodology is supported by another methodology that categorizes libraries across ecosystems. It was validated on 768 Java libraries with 1255 CVEs to demonstrate its effectiveness. The third part addresses the problem of evaluating vulnerability detection tools' effectiveness with available data in practice. It proposes a methodology to extract from a dataset the evolving knowledge a model will encounter in time. It reports a validation with 4 datasets and 5 ML-based tools. It shows that when trained on available data only, ML-based vulnerability detection tools performed worse than when trained with all retrospective data. Finally, the last part addresses the problem of evaluating the usability of vulnerability detection tools. It proposes an experiment design and workflow to allow human reviewers to evaluate the usability of ML-based vulnerability detection tools. The experiment was conducted with a sample of computer science master’s students and shows that the usability of the tools still needs to be improved.
11-apr-2025
XXXVII
2023-2024
Ingegneria e scienza dell'Informaz (29/10/12-)
Information and Communication Technology
Massacci, Fabio
no
Inglese
File in questo prodotto:
File Dimensione Formato  
Thesis_Paramitha.pdf

embargo fino al 10/04/2026

Descrizione: Main thesis
Tipologia: Tesi di dottorato (Doctoral Thesis)
Licenza: Creative commons
Dimensione 15.7 MB
Formato Adobe PDF
15.7 MB Adobe PDF   Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11572/450330
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
  • OpenAlex ND
social impact