Buggy code:
private final Deque < CFANode > switchDefaultStack = new LinkedList < > ( ) ; private final CBinaryExpressionBuilder binExprBuilder ; private final Map < String , CLabelNode > labelMap = new HashMap < > ( ) ; private final Multimap < String , Pair < CFANode , FileLocation > > gotoLabelNeeded = ArrayListMultimap . create ( ) ; private FunctionEntryNode cfa = null ; private Set < CFANode > cfaNodes = null ; private final List < Pair < ADeclaration , String > > globalDeclarations = new ArrayList < > ( ) ; private final FunctionScope scope ; private final ASTConverter astCreator ; private final Function < String , String > niceFileNameFunction ; private final LogManager logger ; private final CheckBindingVisitor checkBinding ; private final Sideassignments sideAssignmentStack ; private boolean encounteredAsm = false ; @ Option ( secure = true , description = "Also<seq2seq4repair_space>initialize<seq2seq4repair_space>local<seq2seq4repair_space>variables<seq2seq4repair_space>with<seq2seq4repair_space>default<seq2seq4repair_space>values,<seq2seq4repair_space>" + "or<seq2seq4repair_space>leave<seq2seq4repair_space>them<seq2seq4repair_space>uninitialized." ) private boolean initializeAllVariables = false ; @ Option ( secure = true , description = "Show<seq2seq4repair_space>messages<seq2seq4repair_space>when<seq2seq4repair_space>dead<seq2seq4repair_space>code<seq2seq4repair_space>is<seq2seq4repair_space>encountered<seq2seq4repair_space>during<seq2seq4repair_space>parsing." ) private boolean showDeadCode = true ; public CFAFunctionBuilder ( Configuration config , LogManagerWithoutDuplicates pLogger , FunctionScope pScope , Function < String , String > pNiceFileNameFunction , CSourceOriginMapping pSourceOriginMapping , MachineModel pMachine , String staticVariablePrefix , Sideassignments pSideAssignmentStack , CheckBindingVisitor pCheckBinding ) throws InvalidConfigurationException { } FunctionEntryNode getStartNode ( ) { } Set < CFANode > getCfaNodes ( ) { } boolean didEncounterAsm ( ) { } List < Pair < ADeclaration , String > > getGlobalDeclarations ( ) { } void finish ( ) { } @ Override public int visit ( IASTDeclaration declaration ) { } private int handleSimpleDeclaration ( final IASTSimpleDeclaration sd ) { } private CFANode createEdgeForDeclaration ( final IASTSimpleDeclaration sd , final FileLocation fileLocation , CFANode prevNode ) { } private int handleFunctionDefinition ( final IASTFunctionDefinition declaration ) { } private int ignoreASMDeclaration ( final IASTNode asmCode ) { } @ Override public int leave ( IASTDeclaration declaration ) { } private void logDeadLabel ( CLabelNode n ) { } @ Override public int visit ( IASTStatement statement ) { } private void handleExpressionStatement ( IASTExpressionStatement exprStatement , FileLocation fileloc ) { } private CFANode createIASTExpressionStatementEdges ( String rawSignature , FileLocation fileloc , CFANode prevNode , CStatement statement ) { } private void handleLabelStatement ( IASTLabelStatement labelStatement , FileLocation fileloc ) { } private void handleGotoStatement ( IASTGotoStatement gotoStatement , FileLocation fileloc ) { } private void handleReturnStatement ( IASTReturnStatement returnStatement , FileLocation fileloc ) { } @ Override public int leave ( IASTStatement statement ) { } @ Override public int visit ( IASTProblem problem ) { } private void addToCFA ( CFAEdge edge ) { } private CFANode newCFANode ( ) { } private boolean isPathFromTo ( CFANode fromNode , CFANode toNode ) { } private CFANode createEdgeForExpression ( final IASTExpression expression , final FileLocation fileLocation , CFANode prevNode , @ Nullable CFANode lastNode ) { assert expression != null ; if ( expression instanceof IASTExpressionList ) { IASTExpression [ ] expressions = ( ( IASTExpressionList ) ( expression ) ) . getExpressions ( ) ; CFANode nextNode = null ; for ( int i = 0 ; i < ( expressions . length ) ; i ++ ) { if ( ( lastNode != null ) && ( i == ( ( expressions . length ) - 1 ) ) ) { nextNode = lastNode ; } else { nextNode = newCFANode ( ) ; } createEdgeForExpression ( expressions [ i ] , fileLocation , prevNode , nextNode ) ; prevNode = nextNode ; } return nextNode ; } else { String rawSignature = expression . getRawSignature ( ) ; final CStatement stmt = astCreator . convertExpressionToStatement ( expression ) ; <START_BUG> if ( stmt == ( CIntegerLiteralExpression . ZERO ) ) { <END_BUG> return handleAllSideEffects ( prevNode , fileLocation , rawSignature , false ) ; } else { prevNode = handleAllSideEffects ( prevNode , fileLocation , rawSignature , true ) ; } stmt . accept ( checkBinding ) ; if ( lastNode == null ) { lastNode = newCFANode ( ) ; } final CStatementEdge lastEdge = new CStatementEdge ( rawSignature , stmt , fileLocation , prevNode , lastNode ) ; addToCFA ( lastEdge ) ; return lastNode ; } } private CBinaryExpression buildBinaryExpression ( CExpression operand1 , CExpression operand2 , BinaryOperator op ) { } private void handleIfStatement ( IASTIfStatement ifStatement , FileLocation fileloc ) { } private Optional < CExpression > createConditionEdges ( final IASTExpression condition , final FileLocation fileLocation , CFANode rootNode , CFANode thenNode , final CFANode elseNode ) { } private Optional < CExpression > buildConditionTree ( IASTExpression condition , final FileLocation fileLocation , CFANode rootNode , CFANode thenNode , final CFANode elseNode , CFANode thenNodeForLastThen , CFANode elseNodeForLastElse , boolean furtherThenComputation , boolean furtherElseComputation ) { } private void addConditionEdges ( CExpression condition , CFANode rootNode , CFANode thenNode , CFANode elseNode , FileLocation fileLocation ) { } private void handleWhileStatement ( IASTWhileStatement whileStatement , FileLocation fileloc ) { } private void handleDoWhileStatement ( IASTDoStatement doStatement , FileLocation fileloc ) { } private void createLoop ( IASTExpression condition , FileLocation fileloc ) { } private void handleBreakStatement ( IASTBreakStatement breakStatement , FileLocation fileloc ) { } private void handleContinueStatement ( IASTContinueStatement continueStatement , FileLocation fileloc ) { } private int handleForStatement ( final IASTForStatement forStatement , final FileLocation fileLocation ) { } private CFANode createInitEdgeForForLoop ( final IASTStatement statement , final FileLocation fileLocation , CFANode prevNode ) { } private void createConditionEdgesForForLoop ( final IASTExpression condition , final FileLocation fileLocation , CFANode loopStart , final CFANode postLoopNode , final CFANode firstLoopNode ) { } private int handleSwitchStatement ( final IASTSwitchStatement statement , FileLocation fileloc ) { } private void handleCaseStatement ( final IASTCaseStatement statement , FileLocation fileLocation ) { } private CFANode handleCaseSingleStatement ( final IASTExpression right , final CExpression switchExpr , final CFANode rootNode , final CFANode caseNode , final CFANode notCaseNode , final FileLocation fileLocation ) { }

Fix:
if ( ( stmt instanceof CExpressionStatement ) && ( ( ( ( CExpressionStatement ) ( stmt ) ) . getExpression ( ) ) == ( CIntegerLiteralExpression . ZERO ) ) ) {