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.

Towards crash reproduction benchmark augmentation using mutation testing

Many applications are developed with a lot of different purposes and can provide quality output. Nevertheless, crashes still happen. Many techniques such as unit testing, peer-reviewing, or crash reproduction are being researched to improve quality by reducing crashes.