diff --git a/examples/lang_1/pom.xml b/examples/lang_1/pom.xml
index 59664bab1..0c59a7884 100644
--- a/examples/lang_1/pom.xml
+++ b/examples/lang_1/pom.xml
@@ -461,8 +461,8 @@
ISO-8859-1
UTF-8
- 1.6
- 1.6
+ 17
+ 17
-
- org.apache.commons
- commons-parent
- 15
-
4.0.0
org.apache.commons
commons-math
@@ -237,8 +232,8 @@
MATH
12310485
- 1.6
- 1.6
+ 17
+ 17
UTF-8
UTF-8
@@ -280,6 +275,15 @@
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+
+ 1.8
+
+
diff --git a/pom.xml b/pom.xml
index 5cc0aed74..96f529a3b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,4 @@
-
4.0.0
@@ -125,12 +125,6 @@
1.7.3
-
- com.gzoltar
- gzoltar
- 0.1.1
-
-
@@ -151,6 +145,11 @@
1.0.0-SNAPSHOT
+
+ com.google.guava
+ guava
+ 30.1-jre
+
com.google.code.gson
diff --git a/src/main/java/fr/inria/astor/core/faultlocalization/gzoltar/GZoltarClientMasterFaultLocalization.java b/src/main/java/fr/inria/astor/core/faultlocalization/gzoltar/GZoltarClientMasterFaultLocalization.java
deleted file mode 100644
index 8c3ef24c3..000000000
--- a/src/main/java/fr/inria/astor/core/faultlocalization/gzoltar/GZoltarClientMasterFaultLocalization.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package fr.inria.astor.core.faultlocalization.gzoltar;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
-
-import org.apache.log4j.Logger;
-
-import fr.inria.astor.core.faultlocalization.FaultLocalizationResult;
-import fr.inria.astor.core.faultlocalization.entity.SuspiciousCode;
-import fr.inria.astor.core.manipulation.MutationSupporter;
-import fr.inria.astor.core.setup.ConfigurationProperties;
-
-/**
- * GZoltar using Client Master Architecture
- *
- * @author Matias Martinez
- *
- */
-public class GZoltarClientMasterFaultLocalization extends GZoltarFaultLocalization {
-
- static Logger logger = Logger.getLogger(GZoltarClientMasterFaultLocalization.class.getName());
-
- @Override
- public FaultLocalizationResult searchSuspicious(String locationBin, List testsToExecute,
- List toInstrument, List cp, String srcFolder) throws Exception {
-
- logger.info("GZoltar CM location " + locationBin);
- Double thr = ConfigurationProperties.getPropertyDouble("flthreshold");
- logger.info("Gzoltar fault localization: min susp value parameter: " + thr);
-
- Set tcset = new HashSet(testsToExecute);
-
- String ncp = cp.stream().collect(Collectors.joining(File.pathSeparator)) + File.pathSeparator + locationBin;
-
- String targetClasses = ConfigurationProperties.getProperty("classestoinstrument");
-
- if (targetClasses == null || targetClasses.trim().isEmpty())
- targetClasses = MutationSupporter.currentSupporter.getFactory().Type().getAll().stream()
- .map(t -> t.getQualifiedName()).collect(Collectors.joining(File.pathSeparator));
-
- String testNames = testsToExecute.stream().collect(Collectors.joining(File.pathSeparator));
- logger.debug("#test before: " + testsToExecute.size() + " #after " + tcset.size());
- logger.debug("#Target classes: " + MutationSupporter.currentSupporter.getFactory().Type().getAll().size());
-
- String jvmPath = ConfigurationProperties.getProperty("jvm4testexecution");
-
- Process p = null;
- jvmPath += File.separator + "java";
-
- try {
-
- List command = new ArrayList();
-
- long init = new Date().getTime();
- command.add(jvmPath);
- // command.add("-Xmx2048m");
- command.add("-jar");
- command.add(new File("./lib/com.gzoltar-1.6.1-java7-jar-with-dependencies.jar").getAbsolutePath());
-
- command.add("-Dproject_cp=" + ncp);
- command.add("-Dtargetclasses=" + targetClasses);
- command.add("-Dtestclasses=" + testNames);
- command.add("-diagnose");
- command.add("-Dtimelimit=" + (long) (ConfigurationProperties.getPropertyDouble("tmax2") / 1000));// milliseconds
- // to
- // seconds
- // command.add("-Dloglevel=None");
-
- Path foutput = Files.createTempDirectory("tempgz");
- command.add("-Dgzoltar_data_dir=" + foutput.toAbsolutePath());
-
- printCommandToExecute(command);
-
- ProcessBuilder pb = new ProcessBuilder("/bin/bash");
- pb.redirectOutput();
- pb.redirectErrorStream(true);
- pb.directory(new File(((ConfigurationProperties.getProperty("location")))));
-
- long t_start = System.currentTimeMillis();
- p = pb.start();
-
- BufferedWriter p_stdin = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));
-
- try {
- // Set up the timezone
- String timeZone = ConfigurationProperties.getProperty("timezone");
- p_stdin.write("TZ=\"" + timeZone + "\"");
- p_stdin.newLine();
- p_stdin.flush();
- p_stdin.write("export TZ");
- p_stdin.newLine();
- p_stdin.flush();
- p_stdin.write("echo $TZ");
- p_stdin.newLine();
- p_stdin.flush();
- // Writing the command
- p_stdin.write(toString(command));
- p_stdin.newLine();
- p_stdin.flush();
-
- // end
- p_stdin.write("exit");
- p_stdin.newLine();
- p_stdin.flush();
-
- } catch (IOException e) {
- logger.error(e);
- }
-
- //
- p.waitFor((long) (ConfigurationProperties.getPropertyDouble("tmax2") * 2), TimeUnit.MINUTES);
- long t_end = System.currentTimeMillis();
- logger.debug("Execution time " + ((t_end - t_start) / 1000) + " seconds");
-
- readOut(p);
- p.destroyForcibly();
-
- long end = new Date().getTime();
-
- logger.debug("GZ CM time " + (end - init) / 1000 + " seconds");
- //
-
- //
- FaultLocalizationResult fl = parseOutputFile(foutput.toFile(), thr);
- //
- return fl;
- //
- } catch (IOException | InterruptedException | IllegalThreadStateException ex) {
- logger.info("The Process that runs JUnit test cases had problems: " + ex.getMessage());
- if (p != null)
- p.destroyForcibly();
- }
- return null;
- }
-
- private void readOut(Process p) {
- boolean success = false;
- String out = "";
- try {
- BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String line;
- while ((line = in.readLine()) != null) {
- out += line + "\n";
-
- }
- in.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- System.out.println(out);
- }
-
- private void printCommandToExecute(List command) {
- String commandString = toString(command);
- int trunk = ConfigurationProperties.getPropertyInt("commandTrunk");
- String commandToPrint = (trunk != 0 && commandString.length() > trunk)
- ? (commandString.substring(0, trunk) + "..AND " + (commandString.length() - trunk) + " CHARS MORE...")
- : commandString;
- logger.info("Executing process: \n" + commandToPrint);
- }
-
- private String toString(List command) {
- String commandString = command.toString().replace("[", "").replace("]", "").replace(",", " ");
- return commandString;
- }
-
- public SuspiciousCode parseLine(String line) {
- try {
- if (line.equals("Component,OCHIAI"))
- return null;
- SuspiciousCode sc = new SuspiciousCode();
- //
- String[] infoLine = line.split("#");
- String[] linesusp = infoLine[1].split(",");
- sc.setLineNumber(Integer.valueOf(linesusp[0]));
- sc.setSusp(Double.parseDouble(linesusp[1]));
-
- String[] splitFile = line.split("<");
- String fileName = splitFile[0].replace("[", ".");
- sc.setFileName(fileName);
- String[] classLine = splitFile[1].split("\\{");
- String className = classLine[0];
- sc.setClassName(className);
- String method = "";
- if (classLine.length > 1)
- method = classLine[1];//
- sc.setMethodName(method);
-
- return sc;
- } catch (Exception e) {
- logger.error("-->" + line);
- logger.error(e);
- e.printStackTrace();
- return null;
- }
- }
-
- public FaultLocalizationResult parseOutputFile(File path, Double thr) {
- File spectrapath = new File(path.getAbsolutePath() + File.separator + "spectra");
- File testpath = new File(path.getAbsolutePath() + File.separator + "tests");
-
- List codes = new ArrayList<>();
- List failingTestCases = new ArrayList<>();
- try (BufferedReader br = new BufferedReader(new FileReader(spectrapath))) {
-
- String line;
- while ((line = br.readLine()) != null) {
- // System.out.println(line);
- SuspiciousCode sc = parseLine(line);
- if (sc != null && sc.getSuspiciousValue() > 0 && sc.getSuspiciousValue() >= thr)
- codes.add(sc);
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- // org.apache.commons.lang3.AnnotationUtilsTest#testAnnotationsOfDifferingTypes,PASS,92358174
- try (BufferedReader br = new BufferedReader(new FileReader(testpath))) {
-
- String line;
- while ((line = br.readLine()) != null) {
- System.out.println(line);
- String[] lineS = line.split(",");
- if (lineS[1].equals("FAIL")) {
- String name = lineS[0].split("#")[0];
- if (!failingTestCases.contains(name))
- failingTestCases.add(name);
- }
-
- }
-
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- ///
-
- codes.forEach(e -> logger.debug(e));
- failingTestCases.forEach(e -> logger.debug(e));
- FaultLocalizationResult result = new FaultLocalizationResult(codes, failingTestCases);
-
- return result;
-
- }
-
-}
diff --git a/src/main/java/fr/inria/astor/core/faultlocalization/gzoltar/GZoltarFaultLocalization.java b/src/main/java/fr/inria/astor/core/faultlocalization/gzoltar/GZoltarFaultLocalization.java
deleted file mode 100644
index 5f6c2984a..000000000
--- a/src/main/java/fr/inria/astor/core/faultlocalization/gzoltar/GZoltarFaultLocalization.java
+++ /dev/null
@@ -1,331 +0,0 @@
-package fr.inria.astor.core.faultlocalization.gzoltar;
-
-import static fr.inria.astor.core.faultlocalization.FaultLocalizationUtils.addFlakyFailingTestToIgnoredList;
-
-import java.io.File;
-import java.net.URL;
-import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.BitSet;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.apache.log4j.Logger;
-
-import com.gzoltar.core.GZoltar;
-import com.gzoltar.core.components.Statement;
-import com.gzoltar.core.instr.testing.TestResult;
-
-import fr.inria.astor.core.entities.ProgramVariant;
-import fr.inria.astor.core.faultlocalization.FaultLocalizationResult;
-import fr.inria.astor.core.faultlocalization.FaultLocalizationStrategy;
-import fr.inria.astor.core.faultlocalization.entity.SuspiciousCode;
-import fr.inria.astor.core.setup.ConfigurationProperties;
-import fr.inria.astor.core.setup.FinderTestCases;
-import fr.inria.astor.core.setup.ProjectRepairFacade;
-
-/**
- * Facade of Fault Localization techniques like GZoltar or own implementations
- * (package {@link org.inria.sacha.faultlocalization}.).
- *
- * @author Matias Martinez, matias.martinez@inria.fr
- *
- */
-public class GZoltarFaultLocalization implements FaultLocalizationStrategy {
-
- public static final String PACKAGE_SEPARATOR = "-";
- Logger logger = Logger.getLogger(GZoltarFaultLocalization.class.getName());
-
- public FaultLocalizationResult searchSuspicious(ProjectRepairFacade project,
- List regressionTestForFaultLocalization) throws Exception {
-
- return this.calculateSuspicious(
- ConfigurationProperties.getProperty("location") + File.separator
- + ConfigurationProperties.getProperty("srcjavafolder"),
- project.getOutDirWithPrefix(ProgramVariant.DEFAULT_ORIGINAL_VARIANT),
- ConfigurationProperties.getProperty("packageToInstrument"), ProgramVariant.DEFAULT_ORIGINAL_VARIANT,
- project.getProperties().getFailingTestCases(), regressionTestForFaultLocalization,
- ConfigurationProperties.getPropertyBool("regressionforfaultlocalization"), project);
-
- }
-
- private FaultLocalizationResult calculateSuspicious(String locationSrc, String locationBytecode,
- String packageToInst, String mutatorIdentifier, List failingTest, List allTest,
- boolean mustRunAllTest, ProjectRepairFacade project) throws Exception {
-
- List testcasesToExecute = null;
-
- if (mustRunAllTest) {
- testcasesToExecute = allTest;
- } else {
- testcasesToExecute = failingTest;
- }
-
- if (testcasesToExecute == null || testcasesToExecute.isEmpty()) {
- new IllegalArgumentException("Astor needs at least one test case for running");
- }
-
- logger.info("-Executing Gzoltar classpath: " + locationBytecode + " from " + +testcasesToExecute.size()
- + " classes with test cases");
-
- List listTOInst = new ArrayList();
- listTOInst.add(packageToInst);
-
- List classPath = new ArrayList();
-
- if (ConfigurationProperties.getPropertyBool("runonoriginalbin")) {
- classPath.addAll(project.getProperties().getOriginalAppBinDir());
- classPath.addAll(project.getProperties().getOriginalTestBinDir());
- } else {
- classPath.add(locationBytecode);
- }
-
- for (URL dep : project.getProperties().getDependencies()) {
- classPath.add(dep.getPath());
- }
-
- FaultLocalizationResult flResult = this.searchSuspicious(locationBytecode, testcasesToExecute, listTOInst,
- classPath, locationSrc);
-
- List suspiciousStatemens = flResult.getCandidates();
-
- if ((suspiciousStatemens == null || suspiciousStatemens.isEmpty())
- && !ConfigurationProperties.getPropertyBool("canhavezerosusp"))
- throw new IllegalArgumentException("No suspicious gen for analyze");
-
- if (ConfigurationProperties.getPropertyBool("ignoreflakyinfl")) {
- addFlakyFailingTestToIgnoredList(flResult.getFailingTestCasesClasses(), project);
- }
-
- if (project.getProperties().getFailingTestCases().isEmpty()) {
- logger.debug("Failing test cases was not pass as argument: we use failings from FL "
- + flResult.getFailingTestCasesClasses());
- project.getProperties().setFailingTestCases(flResult.getFailingTestCasesClasses());
- }
-
- if (ConfigurationProperties.getPropertyBool("filterfaultlocalization")) {
- List filtercandidates = new ArrayList();
-
- for (SuspiciousCode suspiciousCode : suspiciousStatemens) {
- filtercandidates.add(suspiciousCode);
- logger.info("Suspicious: line " + suspiciousCode.getClassName() + " l: "
- + suspiciousCode.getLineNumber() + ", susp " + suspiciousCode.getSuspiciousValue());
- }
- flResult.setCandidates(filtercandidates);
-
- }
- return flResult;
-
- }
-
- protected FaultLocalizationResult searchSuspicious(String locationBytecode, List testsToExecute,
- List toInstrument, List cp, String srcFolder) throws Exception {
-
- List failingTestCasesClasses = new ArrayList();
- List failingTestCasesMethod = new ArrayList();
- List executionTestCasesMethod = new ArrayList();
-
- Double thr = ConfigurationProperties.getPropertyDouble("flthreshold");
- logger.info("Gzoltar fault localization: min susp value parameter: " + thr);
- // 1. Instantiate GZoltar
- // here you need to specify the working directory where the tests will
- // be run. Can be the full or relative path.
- // Example: GZoltar gz = new
- // GZoltar("C:\\Personal\\develop\\workspaceEvolution\\testProject\\target\\classes");
-
- File projLocationFile = new File(locationBytecode + File.separator);
- String projLocationPath = projLocationFile.getAbsolutePath();
- logger.debug("Gzoltar run over: " + projLocationPath + " , does it exist? " + projLocationFile.exists());
-
- GZoltar gz = new GZoltar(System.getProperty("user.dir") + File.separator);
-
- // 2. Add Package/Class names to instrument
- // 3. Add Package/Test Case/Test Suite names to execute
- // Example: gz.addPackageToInstrument("org.test1.Person");
- for (String to : toInstrument) {
- gz.addPackageToInstrument(to);
- }
- if (cp != null || !cp.isEmpty()) {
- logger.info("-gz-Adding classpath: " + cp);
- gz.getClasspaths().addAll(cp);
- }
- for (String test : testsToExecute) {
- gz.addTestToExecute(test);
- if (!ConfigurationProperties.getPropertyBool("includeTestInSusp")) {
- gz.addClassNotToInstrument(test);
- }
- }
-
- String testToAvoid = ConfigurationProperties.getProperty("gzoltartestpackagetoexclude");
- if (testToAvoid != null) {
- String[] testtoavoidarray = testToAvoid.split(PACKAGE_SEPARATOR);
- for (String test : testtoavoidarray) {
- gz.addTestPackageNotToExecute(test);
- }
- }
-
- String packagetonotinstrument = ConfigurationProperties.getProperty("gzoltarpackagetonotinstrument");
-
- if (packagetonotinstrument != null) {
- String[] packages = packagetonotinstrument.split(PACKAGE_SEPARATOR);
- for (String p : packages) {
- gz.addPackageNotToInstrument(p);
-
- }
-
- }
-
- gz.run();
- int[] sum = new int[2];
- List testResults = gz.getTestResults();
- for (TestResult tr : testResults) {
- String testName = tr.getName();
- if (testName.startsWith("junit")) {
- continue;
- }
- sum[0]++;
- sum[1] += tr.wasSuccessful() ? 0 : 1;
- if (!tr.wasSuccessful()) {
- logger.info("Test failt: " + tr.getName());
-
- String testCaseName = testName.split("\\#")[0];
- if (!failingTestCasesClasses.contains(testCaseName)) {
- failingTestCasesClasses.add(testCaseName);
- }
- failingTestCasesMethod.add(testName);
-
- }
- executionTestCasesMethod.add(tr.getName());
- }
-
- int gzPositives = gz.getSuspiciousStatements().stream().filter(x -> x.getSuspiciousness() > 0)
- .collect(Collectors.toList()).size();
-
- logger.info("Gzoltar Test Result Total:" + sum[0] + ", fails: " + sum[1] + ", GZoltar suspicious "
- + gz.getSuspiciousStatements().size() + ", with positive susp " + gzPositives);
-
- DecimalFormat df = new DecimalFormat("#.###");
- int maxSuspCandidates = ConfigurationProperties.getPropertyInt("maxsuspcandidates");
-
- List gzCandidates = new ArrayList();
-
- logger.info("nr test results " + testResults.size());
- for (Statement gzoltarStatement : gz.getSuspiciousStatements()) {
- String compName = gzoltarStatement.getMethod().getParent().getLabel();
- if (// Kind of files to include in analysis
- (ConfigurationProperties.getPropertyBool("includeTestInSusp") || isSource(compName, srcFolder))
- // Analyze suspiciousness
- && (!ConfigurationProperties.getPropertyBool("limitbysuspicious")
- || (gzoltarStatement.getSuspiciousness() >= thr))
- //
- && (!ConfigurationProperties.getPropertyBool("onlympcovered")
- || !gzoltarStatement.getCoverage().isEmpty())
- //
- && (!ConfigurationProperties.getPropertyBool("onlympfromtest")
- || (testsToExecute.contains(gzoltarStatement.getMethod().getParent().getLabel())))) {
-
- gzCandidates.add(gzoltarStatement);
-
- }
-
- }
- // If we do not have candidate due the threshold is to high, we add all
- // as suspicious
- if (gzCandidates.isEmpty()) {
- gzCandidates.addAll(gz.getSuspiciousStatements());
-
- }
-
- if (!ConfigurationProperties.getPropertyBool("includeZeros")) {
- gzCandidates.removeIf(susp -> (susp.getSuspiciousness() == 0));
- }
-
- // we order the suspicious DESC
- Collections.sort(gzCandidates, (o1, o2) -> Double.compare(o2.getSuspiciousness(), o1.getSuspiciousness()));
-
- // We select the best X candidates.
- int max = (gzCandidates.size() < maxSuspCandidates) ? gzCandidates.size() : maxSuspCandidates;
-
- List candidates = new ArrayList();
-
- for (int i = 0; i < max; i++) {
- Statement gzoltarStatement = gzCandidates.get(i);
- String compName = gzoltarStatement.getMethod().getParent().getLabel();
-
- logger.debug("Suspicious: line " + compName + " l: " + gzoltarStatement.getLineNumber() + ", susp "
- + df.format(gzoltarStatement.getSuspiciousness()));
- SuspiciousCode suspcode = new SuspiciousCode(compName, gzoltarStatement.getMethod().getName(),
- gzoltarStatement.getLineNumber(), gzoltarStatement.getSuspiciousness(),
- gzoltarStatement.getCountMap());
- candidates.add(suspcode);
-
- List test = getTestCaseResults(testResults, gzoltarStatement);
- suspcode.setCoveredByTests(test);
-
- }
-
- logger.info("Gzoltar found: " + candidates.size() + " with susp > " + thr + ", we consider: " + max);
-
- FaultLocalizationResult faultLocalizationResult = new FaultLocalizationResult(candidates,
- failingTestCasesClasses);
-
- faultLocalizationResult.setFailingTestCasesClasses(failingTestCasesClasses);
- faultLocalizationResult.setFailingTestCasesMethods(failingTestCasesMethod);
- faultLocalizationResult.setExecutedTestCasesMethods(executionTestCasesMethod);
-
- return faultLocalizationResult;
- }
-
- private List getTestCaseResults(List testResults, Statement gzoltarStatement) {
- List tcresults = new ArrayList<>();
-
- BitSet coverage = gzoltarStatement.getCoverage();
- int nextTest = coverage.nextSetBit(0);
- while (nextTest != -1) {
- TestResult testResult = testResults.get(nextTest);
- if (!ConfigurationProperties.getPropertyBool("savecoverbyfailtests") || !testResult.wasSuccessful()) {
-
- TestCaseResult tcri = new TestCaseResult(testResult.getName(), testResult.wasSuccessful());
- tcresults.add(tcri);
- }
- nextTest = coverage.nextSetBit(nextTest + 1);
- }
- return tcresults;
- }
-
- private boolean isSource(String compName, String srcFolder) {
- String clRoot = compName.split("\\$")[0];
- String[] segmentationName = clRoot.split("\\.");
- String simpleClassName = segmentationName[segmentationName.length - 1];
-
- // File root = new File(srcFolder+"/"+clRoot.replace(".", "/")+".java");
-
- return // root.exists()
- // &&
- !compName.toLowerCase().endsWith("test") && !compName.toLowerCase().endsWith("tests")
- && !simpleClassName.toLowerCase().startsWith("test")
- && !simpleClassName.toLowerCase().startsWith("validate");
-
- }
-
- public class ComparatorCandidates implements Comparator {
-
- @Override
- public int compare(SuspiciousCode o1, SuspiciousCode o2) {
- if (o1 == null || o2 == null) {
- return 0;
- }
- return Double.compare(o2.getSuspiciousValue(), o1.getSuspiciousValue());
- }
-
- }
-
- @Override
- public List findTestCasesToExecute(ProjectRepairFacade projectFacade) {
- List testCasesToRun = FinderTestCases.findJUnit4XTestCasesForRegression(projectFacade);
- return testCasesToRun;
- }
-
-}
diff --git a/src/main/java/fr/inria/astor/core/solutionsearch/AstorCoreEngine.java b/src/main/java/fr/inria/astor/core/solutionsearch/AstorCoreEngine.java
index 5295c5812..485935794 100644
--- a/src/main/java/fr/inria/astor/core/solutionsearch/AstorCoreEngine.java
+++ b/src/main/java/fr/inria/astor/core/solutionsearch/AstorCoreEngine.java
@@ -12,6 +12,7 @@
import java.util.Map;
import java.util.concurrent.TimeUnit;
+import fr.inria.astor.core.faultlocalization.gzoltar.NovelGZoltarFaultLocalization;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;
@@ -38,7 +39,6 @@
import fr.inria.astor.core.faultlocalization.cocospoon.CocoFaultLocalization;
import fr.inria.astor.core.faultlocalization.entity.SuspiciousCode;
import fr.inria.astor.core.faultlocalization.flacoco.FlacocoFaultLocalization;
-import fr.inria.astor.core.faultlocalization.gzoltar.GZoltarFaultLocalization;
import fr.inria.astor.core.manipulation.MutationSupporter;
import fr.inria.astor.core.manipulation.bytecode.entities.CompilationResult;
import fr.inria.astor.core.manipulation.filters.ExpressionIngredientSpaceProcessor;
@@ -1089,7 +1089,7 @@ protected void loadFaultLocalization() throws Exception {
if (flvalue.equals("flacoco")) {
this.setFaultLocalization(new FlacocoFaultLocalization());
} else if (flvalue.equals("gzoltar")) {
- this.setFaultLocalization(new GZoltarFaultLocalization());
+ this.setFaultLocalization(new NovelGZoltarFaultLocalization());
} else if (flvalue.equals("cocospoon")) {
this.setFaultLocalization(new CocoFaultLocalization());
} else
diff --git a/src/main/java/fr/inria/main/FaultLocalizationMain.java b/src/main/java/fr/inria/main/FaultLocalizationMain.java
index 6b00600e1..44b70c7ce 100644
--- a/src/main/java/fr/inria/main/FaultLocalizationMain.java
+++ b/src/main/java/fr/inria/main/FaultLocalizationMain.java
@@ -11,7 +11,6 @@
import fr.inria.astor.core.faultlocalization.FaultLocalizationResult;
import fr.inria.astor.core.faultlocalization.entity.SuspiciousCode;
import fr.inria.astor.core.faultlocalization.flacoco.FlacocoFaultLocalization;
-import fr.inria.astor.core.faultlocalization.gzoltar.GZoltarFaultLocalization;
import fr.inria.astor.core.faultlocalization.gzoltar.NovelGZoltarFaultLocalization;
import fr.inria.astor.core.setup.ConfigurationProperties;
@@ -83,7 +82,7 @@ else if (ConfigurationProperties.hasProperty("filetestcases4fl")) {
executed = true;
- GZoltarFaultLocalization gZoltarFaultLocalization = new GZoltarFaultLocalization();
+ NovelGZoltarFaultLocalization gZoltarFaultLocalization = new NovelGZoltarFaultLocalization();
FaultLocalizationResult result = null;
diff --git a/src/test/java/fr/inria/astor/test/repair/QuixBugsRepairTest.java b/src/test/java/fr/inria/astor/test/repair/QuixBugsRepairTest.java
index db68e8173..07820ef57 100644
--- a/src/test/java/fr/inria/astor/test/repair/QuixBugsRepairTest.java
+++ b/src/test/java/fr/inria/astor/test/repair/QuixBugsRepairTest.java
@@ -21,7 +21,7 @@
import fr.inria.astor.core.entities.ModificationPoint;
import fr.inria.astor.core.entities.OperatorInstance;
import fr.inria.astor.core.entities.SuspiciousModificationPoint;
-import fr.inria.astor.core.faultlocalization.gzoltar.GZoltarFaultLocalization;
+import fr.inria.astor.core.faultlocalization.flacoco.FlacocoFaultLocalization;
import fr.inria.astor.core.ingredientbased.IngredientBasedApproach;
import fr.inria.astor.core.setup.ConfigurationProperties;
import fr.inria.astor.core.solutionsearch.AstorCoreEngine;
@@ -69,7 +69,7 @@ public static CommandSummary getQuixBugsCommand(String name) {
+ File.pathSeparator + "FALSE" + File.pathSeparator + "maxtime" + File.pathSeparator + "120"
+ File.pathSeparator + "autocompile" + File.pathSeparator + "false" + File.pathSeparator
+ "gzoltarpackagetonotinstrument" + File.pathSeparator + "com.google.gson_engine"
- + GZoltarFaultLocalization.PACKAGE_SEPARATOR + "java_programs_test");
+ + File.pathSeparator + "java_programs_test");
cs.command.put("-location", new File("./examples/quixbugscompiled/" + name).getAbsolutePath());
return cs;
diff --git a/src/test/java/fr/inria/astor/test/repair/evaluation/extensionpoints/FaultLocalizationExtensionTest.java b/src/test/java/fr/inria/astor/test/repair/evaluation/extensionpoints/FaultLocalizationExtensionTest.java
index 2b09126f8..7b0ec4740 100644
--- a/src/test/java/fr/inria/astor/test/repair/evaluation/extensionpoints/FaultLocalizationExtensionTest.java
+++ b/src/test/java/fr/inria/astor/test/repair/evaluation/extensionpoints/FaultLocalizationExtensionTest.java
@@ -4,7 +4,7 @@
import fr.inria.astor.core.entities.ProgramVariant;
import fr.inria.astor.core.entities.SuspiciousModificationPoint;
import fr.inria.astor.core.faultlocalization.flacoco.FlacocoFaultLocalization;
-import fr.inria.astor.core.faultlocalization.gzoltar.GZoltarFaultLocalization;
+import fr.inria.astor.core.faultlocalization.gzoltar.NovelGZoltarFaultLocalization;
import fr.inria.astor.core.setup.ConfigurationProperties;
import fr.inria.astor.core.solutionsearch.navigation.SuspiciousNavigationValues;
import fr.inria.astor.core.stats.PatchStat;
@@ -30,7 +30,7 @@ public class FaultLocalizationExtensionTest {
@Test
public void testFlacocoExtensionjKaliFindingMoreThanOneSolution() throws Exception {
AstorMain gzoltarMain =
- runjKaliFindingMoreThanOneSolution(GZoltarFaultLocalization.class.getCanonicalName());
+ runjKaliFindingMoreThanOneSolution(NovelGZoltarFaultLocalization.class.getCanonicalName());
AstorMain flacocoMain =
runjKaliFindingMoreThanOneSolution(FlacocoFaultLocalization.class.getCanonicalName());
@@ -40,7 +40,7 @@ public void testFlacocoExtensionjKaliFindingMoreThanOneSolution() throws Excepti
@Test
public void testFlacocoExtensionShortestPathLenghtsRepairStatement() throws Exception {
AstorMain gzoltarMain =
- run_shortest_path_lengthsRepair_statement(GZoltarFaultLocalization.class.getCanonicalName());
+ run_shortest_path_lengthsRepair_statement(NovelGZoltarFaultLocalization.class.getCanonicalName());
AstorMain flacocoMain =
run_shortest_path_lengthsRepair_statement(FlacocoFaultLocalization.class.getCanonicalName());
@@ -54,7 +54,7 @@ public void testFlacocoExtensionShortestPathLenghtsRepairStatement() throws Exce
@Ignore
public void testFlacocoExtensionMath85() throws Exception {
AstorMain gzoltarMain =
- runMath85(GZoltarFaultLocalization.class.getCanonicalName());
+ runMath85(NovelGZoltarFaultLocalization.class.getCanonicalName());
AstorMain flacocoMain =
runMath85(FlacocoFaultLocalization.class.getCanonicalName());
diff --git a/src/test/java/fr/inria/astor/test/repair/evaluation/extensionpoints/operatorselection/RepairOperatorTest.java b/src/test/java/fr/inria/astor/test/repair/evaluation/extensionpoints/operatorselection/RepairOperatorTest.java
index 406b6bc8b..b4a1e3f55 100644
--- a/src/test/java/fr/inria/astor/test/repair/evaluation/extensionpoints/operatorselection/RepairOperatorTest.java
+++ b/src/test/java/fr/inria/astor/test/repair/evaluation/extensionpoints/operatorselection/RepairOperatorTest.java
@@ -8,7 +8,6 @@
import java.util.Arrays;
import java.util.List;
-import fr.inria.astor.core.faultlocalization.gzoltar.GZoltarFaultLocalization;
import org.junit.Test;
import fr.inria.astor.approaches.jgenprog.JGenProg;