Skip to content

add Flacoco as fault localization engine#220

Merged
monperrus merged 23 commits intoSpoonLabs:masterfrom
andre15silva:flacoco
Nov 18, 2021
Merged

add Flacoco as fault localization engine#220
monperrus merged 23 commits intoSpoonLabs:masterfrom
andre15silva:flacoco

Conversation

@andre15silva
Copy link
Copy Markdown
Contributor

@andre15silva andre15silva commented Jul 23, 2021

fixes #216

Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
@andre15silva
Copy link
Copy Markdown
Contributor Author

Blocked by ASSERT-KTH/flacoco#81

Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
@andre15silva andre15silva force-pushed the flacoco branch 3 times, most recently from 36a4805 to 138471b Compare August 13, 2021 14:59
Signed-off-by: André Silva <andre15andre@hotmail.com>
@andre15silva
Copy link
Copy Markdown
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
Copy Markdown
Contributor

monperrus commented Aug 19, 2021 via email

@andre15silva
Copy link
Copy Markdown
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 <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
@monperrus monperrus mentioned this pull request Sep 8, 2021
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
@monperrus
Copy link
Copy Markdown
Contributor

monperrus commented Sep 22, 2021 via email

Signed-off-by: André Silva <andre15andre@hotmail.com>
@andre15silva
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Contributor

monperrus commented Sep 24, 2021 via email

@andre15silva
Copy link
Copy Markdown
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
Copy Markdown
Contributor Author

@monperrus
Copy link
Copy Markdown
Contributor

Per our discussion, will merge when CI is green.

@andre15silva
Copy link
Copy Markdown
Contributor Author

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

Signed-off-by: André Silva <andre15andre@hotmail.com>
@andre15silva
Copy link
Copy Markdown
Contributor Author

andre15silva commented Oct 14, 2021

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

Signed-off-by: André Silva <andre15andre@hotmail.com>
@andre15silva andre15silva force-pushed the flacoco branch 3 times, most recently from 5258916 to 96aba61 Compare October 24, 2021 20:02
@andre15silva andre15silva marked this pull request as ready for review October 24, 2021 21:18
@andre15silva
Copy link
Copy Markdown
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 <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
Signed-off-by: André Silva <andre15andre@hotmail.com>
@andre15silva
Copy link
Copy Markdown
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
Copy Markdown
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