jedis
jedis copied to clipboard
Integrate GZoltar
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:
-
Basic Maven example
-
Example of a commit with tests failing in the jedis repository
-
Main Fault Localization Report
Please look into the
Comment area size
chapter of the limitations on the action repository
If you have any questions or suggestions, please don't hesitate to let us know!
It'll be fascinating to see this project as it progresses - but for now I think it's too early to include within this library. For now, we'll remain on the sidelines.