Training machine learning models for vulnerability prediction and injection using datasets of vulnerability-inducing commits

Multiple techniques exist to find vulnerabilities in code, such as static analysis and machine learning. Although machine learning techniques are promising, they need to learn from a large quantity of examples.

Automatic Vulnerability Injection using Genetic Improvement and Static Code Analysers

This thesis explores the idea of applying genetic improvement in the aim of injecting vulnerabilities into programs. Generating vulnerabilities automatically in this manner would allow creating datasets of vulnerable programs. This would, in turn, help training machine-learning models to detect vulnerabilities more efficiently.

Leveraging Large Language Models to Automatically Infer RESTful API Specifications

Application Programming Interfaces, known as APIs, are increasingly popular in modern web applications. With APIs, users around the world are able to access a plethora of data contained in numerous server databases.

Study of the impacts of Code Smells on code Testability

Code Smells have been studied for more than 20 years now. They are used to describe a design 􏰊aw in a program intuitively. In this study, we wish to identify the impact of some of these Code Smells.

JCrashPack2.0: Search-based crash reproduction hardness analysis

This master thesis project, revisits the links between search-based crash reproduction and software quality metrics to assess the hardness of search-based crash reproducing test case generation.

DeFlake: Exploring test flakiness debugging

Flaky tests are nondeterministic tests, they can give different results without changes to the code. This wastes time and resources. A better understanding of this field should lead to a decrease of these inconveniences. However, there is little work that makes the effort to bring this knowledge together. This is why this thesis will propose to answer these questions What are the categories of flaky tests identified? and What debugging techniques are the most appropriate for the different categories of flaky tests?

Génération de tests unitaires pour programmes Python

L’application de tests automatiques au code soumis par les étudiants sur une plateforme de correction automatique est un outil utile pour le corps enseignant. Il permet de fournir de meilleurs retours, sur plus d’exercices, créés plus rapidement.

Learning to assert in software testing using mutants

Learning software testing is a neglected subject in computer science courses. Over the years, methods and tools have appeared to provide educational support for this learning. Mutation testing is a technique used to evaluate the effectiveness of test suites.

MuTEd: A Comparative Study of Classic and Extreme Mutation Testing for Teaching Software Testing

Although software testing is critical in software engineering, studies have shown a significant gap between students’ knowledge of software testing and the industry’s needs, hinting at the need to explore novel approaches to teach software testing.

Reverse Engineering Variability for Configurable Systems using Formal Concept Analysis: The Odoo case study

Reverse Engineering a Feature Model (FM) of an existing system allows its migration to a software product line approach to simplify the management of this system by applying a Software Product Line Engineering methodology that focuses mainly on the FM to determine the reusable artefacts and the variation points of the system.