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

add Flacoco as fault localization engine #220

Merged
merged 23 commits into from
Nov 18, 2021

Conversation

andre15silva
Copy link
Contributor

@andre15silva andre15silva commented Jul 23, 2021

fixes #216

Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
@andre15silva
Copy link
Contributor Author

Blocked by ASSERT-KTH/flacoco#81

Signed-off-by: André Silva <[email protected]>
@andre15silva
Copy link
Contributor Author

There is a compatibility issue between flacoco and nopol.

flacoco requires access to the binaries, and nopol does not have this information available in any place other than being embedded in the classpath itself

@monperrus
Copy link
Contributor

monperrus commented Aug 19, 2021 via email

@andre15silva
Copy link
Contributor Author

interesting, to be discussed.

FYI, the new online mode (ASSERT-KTH/flacoco#86) does not need access to the binaries, only the names of the classes to include/exclude. Since we have access to the source files here in nopol that is taken care of.

Signed-off-by: André Silva <[email protected]>
@monperrus monperrus mentioned this pull request Sep 8, 2021
@monperrus
Copy link
Contributor

monperrus commented Sep 22, 2021 via email

@andre15silva
Copy link
Contributor Author

In the cm5 bug we find the correct line, but nopol itself isn't able to generate a patch.

From the paper, the buggy code is if (u * v == 0) {, which corresponds to org.apache.commons.math.util.MathUtils:412

This line is included in the results for both GZoltar and Flacoco (flacoco results below):

Failing tests:
[Manual]TestMethod=org.apache.commons.math.util.MathUtilsTest#testGcd_0
[Manual]TestMethod=org.apache.commons.math.util.MathUtilsTest#testGcd_3
[Manual]TestMethod=org.apache.commons.math.util.MathUtilsTest#testGcd_1
[Manual]TestMethod=org.apache.commons.math.util.MathUtilsTest#testGcd_4
SourceLocation org.apache.commons.math.util.MathUtils:413:0.5547001962252291
SourceLocation org.apache.commons.math.util.MathUtils:412:0.30151134457776363

@andre15silva
Copy link
Contributor Author

Also note that Flacoco is not facing the same issue as GZoltar in #223 , and is able to compute the right failing tests.

@monperrus
Copy link
Contributor

monperrus commented Sep 24, 2021 via email

@andre15silva
Copy link
Contributor Author

is Nopol in SMT or Dynamoth mode in this run?

SMT is the default, but with I've tried with Dynamoth and it doesn't find a patch for cm5 either.

@andre15silva
Copy link
Contributor Author

@monperrus
Copy link
Contributor

Per our discussion, will merge when CI is green.

@andre15silva
Copy link
Contributor Author

For the record, cl4 works if we use jacoco/jacoco#321

@andre15silva
Copy link
Contributor Author

andre15silva commented Oct 14, 2021

cm7 is failing with flacoco 1.0.0 but works with flacoco 0.0.1-SNAPSHOT

@andre15silva andre15silva marked this pull request as ready for review October 24, 2021 21:18
@andre15silva
Copy link
Contributor Author

andre15silva commented Oct 25, 2021

  • Fix example7Fix
  • Use GZoltar for the ignored TSE bugs
  • update to flacoco new release

Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
Signed-off-by: André Silva <[email protected]>
@andre15silva
Copy link
Contributor Author

Ready for review @monperrus

@monperrus monperrus changed the title Flacoco support add Flacoco as fault localization engine Nov 18, 2021
@monperrus monperrus merged commit 1bbca81 into SpoonLabs:master Nov 18, 2021
@monperrus
Copy link
Contributor

Yeah, that's great @andre15silva thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

integrate flacoco
2 participants