GitFL: Automated fault localization for environments where code-changes by multiple developers are tested simultaneously

Master Thesis (2023)
Author(s)

J.E. van Dorth tot Medler (TU Delft - Mechanical Engineering)

Contributor(s)

J.C.F. de Winter – Mentor (TU Delft - Human-Robot Interaction)

Kelvin Elsendoorn – Mentor (Adyen N.V)

Y.B. Eisma – Graduation committee member (TU Delft - Human-Robot Interaction)

A.E. Zaidman – Graduation committee member (TU Delft - Software Engineering)

Faculty
Mechanical Engineering
Copyright
© 2023 Jan van Dorth tot Medler
More Info
expand_more
Publication Year
2023
Language
English
Copyright
© 2023 Jan van Dorth tot Medler
Graduation Date
26-04-2023
Awarding Institution
Delft University of Technology
Programme
['Mechanical Engineering']
Faculty
Mechanical Engineering
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Background: For rigorous software testing, integration and end-to-end tests are essential to ensure the expected behavior of multiple interacting components of the system. When software is subjected to integration or end-to-end tests, it is often unfeasible to test every code change individually, as the runtime of these tests is usually significantly larger compared to unit tests. For this reason, batches of code changes from multiple authors are often tested simultaneously. Problem: An issue with testing multiple changes simultaneously is that it can be unclear which change form which author caused the failure when tests fail, as all changes from all authors included in the test can be at fault. Design: To solve this, a new automatic fault localization algorithm called GitFL is introduced, which combines state-of-the-art fault localization with version control history information for enhanced performance. GitFL was evaluated on a C++ repository at Adyen where tests are considered to be end-to-end. Findings: It showed that the addition of version control history information significantly increases the performance of fault localization for systems where multiple changes are tested simultaneously. Societal implications: This work provides insights on improved fault localization for these systems, which could enable organizations which develop these systems to speed up their testing and development processes. Originality: This work contributes by focusing on fault localization specifically for systems where multiple changes are tested simultaneously, which was not researched before.

Files

License info not available