Hide menu

Current thesis proposals

Automated Root Cause Analysis of Flaky Tests (BSc or MSc)

Product quality can be uncertain if test cases change their outcome (i.e., from pass to fail or vice versa) without modifications to the codebase. Tests that change their outcome without any modification in the code base are called flaky tests. The common method to detect test flakiness is to re-run the test cases to assess if test outcomes are deterministic. However, the cost of re-running tests is often high. In addition to re-running tests, developers put time and effort to investigate the root causes of test flakiness. This thesis involves developing a technique that can help developers to identify the root cause of test flakiness automatically. A similar approach is investigated by Lam et al.. The thesis involves flaky test data collection, development, implementation and evaluation of the proposed technique with open-source software. This thesis can be scoped as either a Bachelor's or Master's degree project. Contact us to know more about the topic.

Root Cause Analysis of Test Flakiness in C++ Applications

Test smell as analogous to code smell is a poor design choice in the implementation of test code. Researchers and practitioners have investigated root causes of test flakiness in Java, web application languages, and Python. A flaky test changes its outcome without any modification in the codebase. Flaky tests reduce the developer’s trust in the test suite as well as in the final product. This thesis plans to investigate the root causes of test flakiness in C++ applications. This thesis outcome is two-fold. First, this thesis requires an investigation of open-source software, developed with C++, to identify the root causes of test flakiness in through parsing the GIT commits. Later, we can survey/interview industry professionals for comparative analysis between what we found in open-source systems and what industry professionals experienced. This thesis can be scoped as either a BSc or MSc project.

Test suite minimization and hardware reduction using AI techniques (BSc or MSc)

Developers prefer faster feedback when testing features. It is not always easy to run all test cases on all available hardware because it may take many hours. Test suite minimization provides an optimized subset of test cases that can run faster while retaining a high level of feature/requirements coverage. Researchers have investigated different test suite minimization techniques. Our aim is to investigate if artificial intelligence techniques, specifically nature-based techniques can be used to minimize test suites and hardware resources to provide faster feedback while increasing coverage. We will measure total time taken for optimized test suite, feature coverage and fault detection capability.

Page responsible: Ola Leifler
Last updated: 2021-02-09