Buggy code:
public String getFakeSMTDescription ( ) { } public AppliedCustomInstruction inspectAppliedCustomInstruction ( CFANode startNode ) throws InterruptedException , AppliedCustomInstructionParsingFailedException { HashMap < String , String > mapping = new HashMap < > ( ) ; HashMap < String , String > swappedMapping = new HashMap < > ( ) ; Collection < String > outVariables = new ArrayList < String > ( ) ; Set < CFANode > aciEndNodes = new HashSet < > ( ) ; Set < CFANode > ciVisitedNodes = new HashSet < > ( ) ; Set < CFANode > aciVisitedNodes = new HashSet < > ( ) ; Queue < CFANode > ciQueue = new ArrayDeque < > ( ) ; Queue < CFANode > aciQueue = new ArrayDeque < > ( ) ; ciQueue . add ( ciStartNode ) ; ciVisitedNodes . add ( ciStartNode ) ; aciQueue . add ( startNode ) ; aciVisitedNodes . add ( startNode ) ; CFANode ciPred ; CFANode aciPred ; while ( ( ! ( ciQueue . isEmpty ( ) ) ) && ( ! ( ciEndNodes . equals ( aciEndNodes ) ) ) ) { shutdownNotifier . shutdownIfNecessary ( ) ; ciPred = ciQueue . poll ( ) ; aciPred = aciQueue . poll ( ) ; if ( ciEndNodes . contains ( ciPred ) ) { aciEndNodes . add ( aciPred ) ; continue ; } for ( int i = 0 ; i < ( ciPred . getNumLeavingEdges ( ) ) ; i ++ ) { CFAEdge ciEdge = ciPred . getLeavingEdge ( i ) ; CFANode ciSucc = ciEdge . getSuccessor ( ) ; CFAEdge aciEdge = aciPred . getLeavingEdge ( i ) ; CFANode aciSucc = aciEdge . getSuccessor ( ) ; HashMap < String , String > currentLine = new HashMap < > ( ) ; computeMappingOfCIandACI ( ciEdge , aciEdge , mapping , swappedMapping , currentLine , outVariables ) ; if ( currentLine . isEmpty ( ) ) { throw new AppliedCustomInstructionParsingFailedException ( "" ) ; } if ( ( ! ( ciVisitedNodes . contains ( ciSucc ) ) ) && ( ! ( aciVisitedNodes . contains ( aciSucc ) ) ) ) { ciQueue . add ( ciSucc ) ; ciVisitedNodes . add ( ciSucc ) ; aciQueue . add ( ciSucc ) ; aciVisitedNodes . add ( ciSucc ) ; } } } String fakeSMT = getFakeSMTDescriptionForACI ( mapping ) ; <START_BUG> return new AppliedCustomInstruction ( startNode , aciEndNodes , getFakeSMTDescription ( ) , null ) ; <END_BUG> } private String getFakeSMTDescriptionForACI ( HashMap < String , String > map ) { } private void computeMappingOfCIandACI ( CFAEdge ciEdge , CFAEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) throws AppliedCustomInstructionParsingFailedException { } private void compareBlankEdge ( BlankEdge ciEdge , BlankEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) { } private void compareAssumeEdge ( CAssumeEdge ciEdge , CAssumeEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) throws AppliedCustomInstructionParsingFailedException { } private void compareStatementEdge ( CStatementEdge ciEdge , CStatementEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) throws AppliedCustomInstructionParsingFailedException { } private void compareStatementsOfStatementEdge ( CStatement ci , CStatement aci , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) throws AppliedCustomInstructionParsingFailedException { } private void compareDeclarationEdge ( CDeclarationEdge ciEdge , CDeclarationEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) throws AppliedCustomInstructionParsingFailedException { } private void compareReturnStatementEdge ( CReturnStatementEdge ciEdge , CReturnStatementEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) throws AppliedCustomInstructionParsingFailedException { } private void compareFunctionCallEdge ( CFunctionCallEdge ciEdge , CFunctionCallEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) throws AppliedCustomInstructionParsingFailedException { } private void compareFunctionReturnEdge ( CFunctionReturnEdge ciEdge , CFunctionReturnEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) { } private void compareMultiEdge ( MultiEdge ciEdge , MultiEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) { } private void compareCallToReturnEdge ( CFAEdge ciEdge , CFAEdge aciEdge , HashMap < String , String > map , HashMap < String , String > swappedMap , HashMap < String , String > currentLine , Collection < String > outVariables ) { } private class StructureComparisonVisitor implements CExpressionVisitor < String , AppliedCustomInstructionParsingFailedException > { CExpression aciExp ; HashMap < String , String > mapping ; HashMap < String , String > swappedMapping ; HashMap < String , String > currentLine ; public StructureComparisonVisitor ( CExpression pAciExp , HashMap < String , String > pMapping , HashMap < String , String > pSwappedMapping , HashMap < String , String > pCurrentLine ) { } @ Override public String visit ( CArraySubscriptExpression ciExp ) throws AppliedCustomInstructionParsingFailedException { }

Fix:
return new AppliedCustomInstruction ( startNode , aciEndNodes ) ;