Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add GZoltar Fault Localization on tests #3

Merged
merged 1 commit into from
May 31, 2023

Conversation

hugofpaiva
Copy link
Owner

@hugofpaiva hugofpaiva commented May 31, 2023

Hello 👋

As part of my Masters Dissertation @FEUP, a GitHub action named GZoltar Automatic Feedback was created. Its main purpose is to improve the results produced by GZoltar, facilitating its interpretation and execution in CI pipelines.

GZoltar is a Java tool that uses automatic techniques to identify the location of faults in software. It utilizes Spectrum-based fault localization for, based on faulty tests, identify a list of fault candidates. The basic steps of Spectrum-Based Fault Localization are: Collect Execution Data; Generate a Spectrum (contains the program's execution trace and is usually represented as a matrix); Calculate Suspiciousness Scores based on one or more available algorithms. If you want to go deeper into this topic, I strongly recommend you to explore this survey.

I took the liberty of configuring both the GZoltar execution and the subsequent data processing with the action created by me in jedis. This is a basic setup that generates line suspiciousnesses using the ochiai algorithm; the higher the suspiciousness, the more probable it is that the line has a defect. The idea is that with the continuous use of the generated reports, they can reduce the effort in manually debugging programs, one of the most cumbersome, costly and time-intensive task in software development.

So that you can understand how the tools work, I leave two examples:

If you have any questions or suggestions, please don't hesitate to let us know!

@github-actions
Copy link

As there is no failing test, GZoltar has nothing to report 🙌

@hugofpaiva hugofpaiva merged commit 9a81fe0 into master May 31, 2023
6 checks passed
@hugofpaiva hugofpaiva self-assigned this May 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant