SpoonLabs / astor

Automatic program repair for Java with generate-and-validate techniques :v::v:: jGenProg (2014) - jMutRepair (2016) - jKali (2016) - DeepRepair (2017) - Cardumen (2018) - 3sfix (2018)
https://hal.archives-ouvertes.fr/hal-01321615/document
GNU General Public License v2.0
205 stars 107 forks source link

Flacoco support #323

Closed andre15silva closed 3 years ago

andre15silva commented 3 years ago

Closes #314.

andre15silva commented 3 years ago

@martinezmatias

You can find 3 examples under FaultLocalizationExtensionTest.

The first two are passing, and are example small projects.

The last one is math85, and if you run it you'll get the error we talked about in #314 .

testFlacocoExtensionMath85(fr.inria.astor.test.repair.evaluation.extensionpoints.FaultLocalizationExtensionTest)  Time elapsed: 207.793 sec  <<< ERROR!
java.lang.RuntimeException: Forked process did not finished correctly
    at eu.stamp_project.testrunner.EntryPoint.runGivenCommandLine(EntryPoint.java:599)
    at eu.stamp_project.testrunner.EntryPoint.runCoveredTestResultPerTestMethods(EntryPoint.java:496)
    at eu.stamp_project.testrunner.EntryPoint.runCoveredTestResultPerTestMethods(EntryPoint.java:446)
    at fr.spoonlabs.flacoco.core.coverage.framework.JUnit4Strategy.execute(JUnit4Strategy.java:23)
    at fr.spoonlabs.flacoco.core.coverage.CoverageRunner.getCoverageMatrix(CoverageRunner.java:35)
    at fr.spoonlabs.flacoco.localization.spectrum.SpectrumRunner.computeCoverageMatrix(SpectrumRunner.java:37)
    at fr.spoonlabs.flacoco.localization.spectrum.SpectrumRunner.run(SpectrumRunner.java:22)
    at fr.spoonlabs.flacoco.api.Flacoco.runDefault(Flacoco.java:32)
    at fr.inria.astor.core.faultlocalization.flacoco.FlacocoFaultLocalization.searchSuspicious(FlacocoFaultLocalization.java:30)
    at fr.inria.astor.core.solutionsearch.AstorCoreEngine.calculateSuspicious(AstorCoreEngine.java:903)
    at fr.inria.main.evolution.AstorMain.createEngine(AstorMain.java:119)
    at fr.inria.main.evolution.AstorMain.run(AstorMain.java:173)
    at fr.inria.main.evolution.AstorMain.execute(AstorMain.java:233)
    at fr.inria.astor.test.repair.evaluation.extensionpoints.FaultLocalizationExtensionTest.runMath85(FaultLocalizationExtensionTest.java:204)
    at fr.inria.astor.test.repair.evaluation.extensionpoints.FaultLocalizationExtensionTest.testFlacocoExtensionMath85(FaultLocalizationExtensionTest.java:53)
andre15silva commented 3 years ago

Any way we can get CI enabled @martinezmatias ?

martinezmatias commented 3 years ago

Hi @andre15silva

Any way we can get CI enabled @martinezmatias ?

Ideally we should move to Actions. Travis.org is death so instead of moving to travis.com we should go to Actions.

andre15silva commented 3 years ago

Ideally we should move to Actions. Travis.org is death so instead of moving to travis.com we should go to Actions.

Ok, I'll take care of that then. I was running the travis config on my personal account, but ran out of tokens quickly. Actions is for sure a better option.

martinezmatias commented 3 years ago

Perfect @andre15silva , thanks

martinezmatias commented 3 years ago

During the migration, it would be convenient to remove some low quality test (lot of smoke test) which require large execution times.

andre15silva commented 3 years ago

Currently blocked by https://github.com/SpoonLabs/flacoco/pull/79

andre15silva commented 3 years ago

This is ready for review.

I left some comments on the tests/assertions I had to ignore, so it would be nice if you could give me some feedback on those (if they are correct, if we can ignore them, if we should fix them, etc) as I don't have the entire context of how Astor and the tools work.

martinezmatias commented 3 years ago

Nice work @andre15silva . Thanks!

so it would be nice if you could give me some feedback on those (if they are correct, if we can ignore them, if we should fix them, etc) as I don't have the entire context of how Astor and the tools work.

Ok, I merge now and then we update the tests doing other PR.