SpoonLabs/nopol

The meaning of nopolContext.isOnlyOneSynthesisResult() in Nopol source codes

DehengYang opened this issue · 2 comments

private void solveWithMultipleBuild(Map<SourceLocation, List<TestResult>> testListPerStatement) { for (SourceLocation sourceLocation : testListPerStatement.keySet()) { runOnStatement(sourceLocation, testListPerStatement.get(sourceLocation)); if (nopolContext.isOnlyOneSynthesisResult() && !this.nopolResult.getPatches().isEmpty()) { return; } } }

Could anyone explain what the code "isOnlyOneSynthesisResult()” in Nopol.java means for the Nopol? Thanks!

isOnlyOneSynthesisResult() tells whether you want to generate several patches for the same location with angelic value. This is only valid in Dynamoth mode which is able to enumerate patches in the synthesis space. On the contrary, the SMT synthesis is not able to enumerate them.

Thank you for your great help!