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.AccumulatedOutcome
loadResultObjects
(Path path) static void
Run the result analysis on the collected results (i.e., results.txt).static PatchOutcome
parseResult
(List<String> lines) static String
percentage
(long x, long y) 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
-
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
-