Class ResultAnalysis
java.lang.Object
org.variantsync.studies.evolution.simulation.experiment.ResultAnalysis
Performs the result analysis presented in our paper.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic org.variantsync.studies.evolution.simulation.experiment.ResultAnalysis.AccumulatedOutcomeloadResultObjects(Path path) static voidRun the result analysis on the collected results (i.e., results.txt).static PatchOutcomeparseResult(List<String> lines) static Stringpercentage(long x, long y) static PatchOutcomeprocessOutcome(String dataset, long runID, String sourceVariant, String targetVariant, org.variantsync.vevos.simulation.variability.SPLCommit commitV0, org.variantsync.vevos.simulation.variability.SPLCommit commitV1, FineDiff normalPatch, FineDiff filteredPatch, FineDiff resultDiffNormal, FineDiff resultDiffFiltered, OriginalDiff rejectsNormal, OriginalDiff rejectsFiltered, FineDiff sourceChanges, Set<String> skippedFilesNormal, Set<String> skippedFilesFiltered) Analyze the outcome of applying patches to a target variant
-
Constructor Details
-
ResultAnalysis
public ResultAnalysis()
-
-
Method Details
-
processOutcome
public static PatchOutcome processOutcome(String dataset, long runID, String sourceVariant, String targetVariant, org.variantsync.vevos.simulation.variability.SPLCommit commitV0, org.variantsync.vevos.simulation.variability.SPLCommit commitV1, FineDiff normalPatch, FineDiff filteredPatch, FineDiff resultDiffNormal, FineDiff resultDiffFiltered, OriginalDiff rejectsNormal, OriginalDiff rejectsFiltered, FineDiff sourceChanges, Set<String> skippedFilesNormal, Set<String> skippedFilesFiltered) Analyze the outcome of applying patches to a target variant- Parameters:
dataset- The considered SPLrunID- The id of the analyzed runsourceVariant- The source variant's nametargetVariant- The target variant's namecommitV0- The id of the parent commitcommitV1- The id of the child commitnormalPatch- The FineDiff with all prepared changesfilteredPatch- The FineDiff with all prepared changes after filteringresultDiffNormal- The difference between the patched target variant and the expected resultresultDiffFiltered- The difference between the patched target variant and the expected result (with filtering)rejectsNormal- The rejected patches (aka. failed patches) without filteringrejectsFiltered- The rejected patches (aka. failed patches) with filteringsourceChanges- The difference between the two versions of the source variantskippedFilesNormal- List of files that were not found by patch and therefore not patchedskippedFilesFiltered- List of files that were not found by patch and therefore not patched- Returns:
- The patch outcome
-
main
Run the result analysis on the collected results (i.e., results.txt). This method is called by the Docker container after the study has been run.- Parameters:
args- CL arguments- Throws:
IOException- If the results cannot be loaded
-
loadResultObjects
public static org.variantsync.studies.evolution.simulation.experiment.ResultAnalysis.AccumulatedOutcome loadResultObjects(Path path) throws IOException - Throws:
IOException
-
parseResult
-
percentage
-