Buggy code:
try ( Writer w = Files . openOutputFile ( argFile ) ) { ARGUtils . writeARGAsDot ( w , ( ( ARGState ) ( reachedSet . getFirstState ( ) ) ) ) ; } catch ( IOException e ) { logger . logUserException ( Level . WARNING , e , "Could<seq2seq4repair_space>not<seq2seq4repair_space>write<seq2seq4repair_space>ARG<seq2seq4repair_space>to<seq2seq4repair_space>file" ) ; } } if ( ! hasTimedOut ) { AbstractState lastState = reachedSet . getLastState ( ) ; if ( lastState != null ) { if ( AbstractStates . isTargetState ( lastState ) ) { logger . logf ( Level . INFO , "Test<seq2seq4repair_space>goal<seq2seq4repair_space>is<seq2seq4repair_space>feasible." ) ; if ( ( lGoalPrediction ) != null ) { lGoalPrediction [ ( goalIndex - 1 ) ] = Prediction . FEASIBLE ; } CFAEdge criticalEdge = pGoal . getCriticalEdge ( ) ; Map < ARGState , CounterexampleInfo > counterexamples = lARTCPA . getCounterexamples ( ) ; if ( counterexamples . isEmpty ( ) ) { logger . logf ( Level . INFO , "Counterexample<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>available." ) ; LinkedList < CFAEdge > trace = new LinkedList < > ( ) ; ARGState argState = AbstractStates . extractStateByType ( lastState , ARGState . class ) ; Collection < ARGState > parents ; parents = argState . getParents ( ) ; while ( ! ( parents . isEmpty ( ) ) ) { ARGState parent = null ; for ( ARGState tmp_parent : parents ) { parent = tmp_parent ; break ; } CFAEdge edge = parent . getEdgeToChild ( argState ) ; trace . addFirst ( edge ) ; if ( edge . equals ( criticalEdge ) ) { logger . logf ( Level . INFO , "***********************<seq2seq4repair_space>extract<seq2seq4repair_space>abstract<seq2seq4repair_space>state<seq2seq4repair_space>***********************" ) ; } argState = parent ; parents = argState . getParents ( ) ; } List < BigInteger > inputValues = new ArrayList < > ( ) ; TestCase testcase = new TestCase ( inputValues , trace ) ; testsuite . addTestCase ( testcase , pGoal ) ; } else { logger . logf ( Level . INFO , "Counterexample<seq2seq4repair_space>is<seq2seq4repair_space>available." ) ; assert ( counterexamples . size ( ) ) == 1 ; for ( Map . Entry < ARGState , CounterexampleInfo > lEntry : counterexamples . entrySet ( ) ) { CounterexampleInfo cex = lEntry . getValue ( ) ; if ( cex . isSpurious ( ) ) { logger . logf ( Level . WARNING , "Counterexample<seq2seq4repair_space>is<seq2seq4repair_space>spurious!" ) ; } else { Model model = cex . getTargetPathModel ( ) ; Comparator < Map . Entry < Model . AssignableTerm , Object > > comp = new Comparator < Map . Entry < Model . AssignableTerm , Object > > ( ) { @ Override public int compare ( Map . Entry < AssignableTerm , Object > pArg0 , Map . Entry < AssignableTerm , Object > pArg1 ) { assert pArg0 . getKey ( ) . getName ( ) . equals ( pArg1 . getKey ( ) . getName ( ) ) ; assert ( pArg0 . getKey ( ) ) instanceof Model . Variable ; assert ( pArg1 . getKey ( ) ) instanceof Model . Variable ; Model . Variable v0 = ( ( Model . Variable ) ( pArg0 . getKey ( ) ) ) ; Model . Variable v1 = ( ( Model . Variable ) ( pArg1 . getKey ( ) ) ) ; return ( v0 . getSSAIndex ( ) ) - ( v1 . getSSAIndex ( ) ) ; } } ; TreeSet < Map . Entry < Model . AssignableTerm , Object > > inputs = new TreeSet ( comp ) ; for ( Map . Entry < Model . AssignableTerm , Object > e : model . entrySet ( ) ) { if ( ( e . getKey ( ) ) instanceof Model . Variable ) { Model . Variable v = ( ( Model . Variable ) ( e . getKey ( ) ) ) ; if ( v . getName ( ) . equals ( ( ( WrapperUtil . CPAtiger_INPUT ) + "::__retval__" ) ) ) { inputs . add ( e ) ; } } } List < BigInteger > inputValues = new ArrayList ( inputs . size ( ) ) ; for ( Map . Entry < Model . AssignableTerm , Object > e : inputs ) { <START_BUG> inputValues . add ( BigInteger ( e . getValue ( ) . toString ( ) ) ) ; <END_BUG> } TestCase testcase = new TestCase ( inputValues , cex . getTargetPath ( ) . asEdgesList ( ) ) ; testsuite . addTestCase ( testcase , pGoal ) ; for ( CFAEdge lCFAEdge : cex . getTargetPath ( ) . asEdgesList ( ) ) { if ( lCFAEdge . equals ( criticalEdge ) ) { logger . logf ( Level . INFO , "***********************<seq2seq4repair_space>extract<seq2seq4repair_space>abstract<seq2seq4repair_space>state<seq2seq4repair_space>***********************" ) ; } } } } } } else { logger . logf ( Level . INFO , "Test<seq2seq4repair_space>goal<seq2seq4repair_space>infeasible." ) ; if ( ( lGoalPrediction ) != null ) { lGoalPrediction [ ( goalIndex - 1 ) ] = Prediction . INFEASIBLE ; } testsuite . addInfeasibleGoal ( pGoal ) ; if ( pInfeasibilityPropagation . getFirst ( ) ) { logger . logf ( Level . INFO , "Do<seq2seq4repair_space>infeasibility<seq2seq4repair_space>propagation!" ) ; HashSet < CFAEdge > lTargetEdges = new HashSet < > ( ) ; ClusteredElementaryCoveragePattern lClusteredPattern = ( ( ClusteredElementaryCoveragePattern ) ( pGoal . getPattern ( ) ) ) ; ListIterator < ClusteredElementaryCoveragePattern > lRemainingPatterns = lClusteredPattern . getRemainingElementsInCluster ( ) ; int lTmpIndex = goalIndex - 1 ; while ( lRemainingPatterns . hasNext ( ) ) { Prediction lPrediction = lGoalPrediction [ lTmpIndex ] ; ClusteredElementaryCoveragePattern lRemainingPattern = lRemainingPatterns . next ( ) ; if ( lPrediction . equals ( UNKNOWN ) ) { lTargetEdges . add ( lRemainingPattern . getLastSingletonCFAEdge ( ) ) ; } lTmpIndex ++ ; } Collection < CFAEdge > lFoundEdges = InfeasibilityPropagation . dfs2 ( lClusteredPattern . getCFANode ( ) , lClusteredPattern . getLastSingletonCFAEdge ( ) , lTargetEdges ) ;

Fix:
inputValues . add ( new BigInteger ( e . getValue ( ) . toString ( ) ) ) ;