scripts/cpa.sh -heap 50000M -noout -disable-java-assertions -predicateAnalysis-PredAbsRefiner-ABEl -setprop cpa.predicate.handlePointerAliasing=false -64 -timelimit 900s -stats -spec test/programs/benchmarks/ldv-linux-3.4-simple/ALL.prp test/programs/benchmarks/ldv-linux-3.4-simple/43_1a_cilled_false-unreach-call_ok_linux-43_1a-drivers--usb--gadget--pch_udc.ko-ldv_main0_sequence_infinite_withcheck_stateful.cil.out.c -------------------------------------------------------------------------------- Running CPAchecker with Java heap of size 50000M. Using the following resource limits: CPU-time limit of 900s (ResourceLimitChecker.fromConfiguration, INFO) CPAchecker 1.4-svn (OpenJDK 64-Bit Server VM 1.7.0_65) started (CPAchecker.run, INFO) line 2986: Dead code detected: __ms = 1UL; (CFACreationUtils.addEdgeToCFA, INFO) line 3097: Dead code detected: __ms = 1UL; (CFACreationUtils.addEdgeToCFA, INFO) line 3154: Dead code detected: __ms = 1UL; (CFACreationUtils.addEdgeToCFA, INFO) line 4494: Dead code detected: __ms = 1UL; (CFACreationUtils.addEdgeToCFA, INFO) line 4531: Dead code detected: __ms___0 = 1UL; (CFACreationUtils.addEdgeToCFA, INFO) Dead code detected: Label switch_break is not reachable. (CFAFunctionBuilder.leave, INFO) Dead code detected: Label switch_break is not reachable. (CFAFunctionBuilder.leave, INFO) Inline assembler ignored, analysis is probably unsound! (CFABuilder.createCFA, WARNING) line 2303: Function pointer *__cil_tmp20 with type dma_addr_t (*)(struct device *, struct page *, unsigned long int, size_t , enum dma_data_direction , struct dma_attrs *) is called, but no possible target functions were found. (CFunctionPointerResolver.replaceFunctionPointerCall, WARNING) line 2409: Function pointer *__cil_tmp21 with type void (*)(struct device *, dma_addr_t , size_t , enum dma_data_direction , struct dma_attrs *) is called, but no possible target functions were found. (CFunctionPointerResolver.replaceFunctionPointerCall, WARNING) Handling of pointer aliasing is disabled, analysis is unsound if aliased pointers exist. (PredicateCPA:PathFormulaManagerImpl., WARNING) Using predicate analysis with SMTInterpol 2.1-174-ga199d47-comp and JFactory 1.21. (PredicateCPA:PredicateCPA., INFO) Using refinement for predicate analysis with PredicateAbstractionRefinementStrategy strategy. (PredicateCPA:PredicateCPARefiner., INFO) The following configuration options were specified but are not used: cpa.predicate.memoryAllocationsAlwaysSucceed cpa.predicate.maxPreFilledAllocationSize (CPAchecker.printConfigurationWarnings, WARNING) Starting analysis ... (CPAchecker.runAlgorithm, INFO) Program contains array, or pointer (multiple level of indirection), or field (enable handleFieldAccess and handleFieldAliasing) access; analysis is imprecise in case of aliasing. (PredicateCPA:CtoFormulaConverter.makeVariableUnsafe, WARNING) Assuming external function ldv_initialize to be a constant function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function __pci_register_driver to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function __gpio_get_value to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function schedule_work to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function ioread32 to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function iowrite32 to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function _raw_spin_lock to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function _raw_spin_unlock to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) line 13341: Ignoring call via function pointer pch_udc_svc_ur_interrupt::__cil_tmp43 for which no suitable target was found in line: (*__cil_tmp43)(__cil_tmp44); (FunctionPointerCPA:FunctionPointerTransferRelation.getAbstractSuccessorsForEdge, WARNING) line 13341: Ignoring function call through function pointer *__cil_tmp43: (*__cil_tmp43)(__cil_tmp44); (PredicateCPA:ExpressionToFormulaVisitor.visit, WARNING) Assuming external function dev_get_drvdata to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function usb_del_gadget_udc to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function dev_err to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function dma_pool_destroy to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function dma_pool_free to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) line 2409: Ignoring call via function pointer dma_unmap_single_attrs::__cil_tmp21 for which no suitable target was found in line: (*__cil_tmp21)(dev, addr, size, dir, attrs); (FunctionPointerCPA:FunctionPointerTransferRelation.getAbstractSuccessorsForEdge, WARNING) line 2409: Ignoring function call through function pointer *__cil_tmp21: (*__cil_tmp21)(dev, addr, size, dir, attrs); (PredicateCPA:ExpressionToFormulaVisitor.visit, WARNING) Assuming external function debug_dma_unmap_page to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function free_irq to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function gpio_free to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function iounmap to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function __release_region to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function pci_disable_device to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function device_unregister to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function dev_set_drvdata to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function ___udelay to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) Assuming external function __dynamic_dev_dbg to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO) line 5209: Ignoring call via function pointer pch_vbus_gpio_work_fall::__cil_tmp55 for which no suitable target was found in line: (*__cil_tmp55)(__cil_tmp56); (FunctionPointerCPA:FunctionPointerTransferRelation.getAbstractSuccessorsForEdge, WARNING) line 5209: Ignoring function call through function pointer *__cil_tmp55: (*__cil_tmp55)(__cil_tmp56); (PredicateCPA:ExpressionToFormulaVisitor.visit, WARNING) Recursion detected, aborting. To ignore recursion, add -skipRecursion to the command line. (CallstackCPA:CallstackTransferRelation.getAbstractSuccessorsForEdge, INFO) Error: line 5209: Unsupported C feature (recursion): pch_vbus_gpio_work_fall(__cil_tmp56); (line was originally pointer call(pch_vbus_gpio_work_fall) (*__cil_tmp55)(__cil_tmp56);) (CallstackTransferRelation.getAbstractSuccessorsForEdge, SEVERE) PredicateCPA statistics ----------------------- Number of abstractions: 7 (1% of all post computations) Times abstraction was reused: 0 Because of function entry/exit: 0 (0%) Because of loop head: 7 (100%) Because of join nodes: 0 (0%) Because of threshold: 0 (0%) Times precision was empty: 7 (100%) Times precision was {false}: 0 (0%) Times result was cached: 0 (0%) Times cartesian abs was used: 0 (0%) Times boolean abs was used: 0 (0%) Times result was 'false': 0 (0%) Number of strengthen sat checks: 0 Number of coverage checks: 156 BDD entailment checks: 2 Number of SMT sat checks: 0 trivial: 0 cached: 0 Max ABE block size: 119 Number of predicates discovered: 0 Number of path formula cache hits: 0 (0%) Time for post operator: 0.314s Time for path formula creation: 0.307s Actual computation: 0.293s Time for strengthen operator: 0.002s Time for prec operator: 0.024s Time for abstraction: 0.024s (Max: 0.013s, Count: 7) Solving time: 0.000s (Max: 0.000s) Model enumeration time: 0.000s Time for BDD construction: 0.000s (Max: 0.000s) Time for merge operator: 0.205s Time for coverage check: 0.002s Time for BDD entailment checks: 0.002s Total time for SMT solver (w/o itp): 0.000s Number of BDD nodes: 202 Size of BDD node table: 10007 Size of BDD node cleanup queue: 0 (count: 10, min: 0, max: 0, avg: 0,00) Time for BDD node cleanup: 0.000s Time for BDD garbage collection: 0.000s (in 0 runs) PrecisionBootstrap statistics ----------------------------- Init. function predicates: 0 Init. global predicates: 0 Init. location predicates: 0 AutomatonAnalysis (SVCOMP) statistics ------------------------------------- Number of states: 1 Total time for successor computation: 0.074s Automaton transfers with branching: 0 Automaton transfer successors: 4130 (count: 4130, min: 1, max: 1, avg: 1,00) [1 x 4130] CPA algorithm statistics ------------------------ Number of iterations: 1133 Max size of waitlist: 49 Average size of waitlist: 37 Number of computed successors: 1251 Max successors for one state: 2 Number of times merged: 77 Number of times stopped: 79 Number of times breaked: 0 Total time for CPA algorithm: 0.806s (Max: 0.806s) Time for choose from waitlist: 0.004s Time for precision adjustment: 0.059s Time for transfer relation: 0.481s Time for merge operator: 0.209s Time for stop operator: 0.011s Time for adding to reached set: 0.021s Predicate-Abstraction Refiner statistics ---------------------------------------- Predicate creation: 0.000s Precision update: 0.000s ARG update: 0.000s Length of refined path (in blocks): 0 (count: 0, min: 0, max: 0, avg: 0,00) Number of affected states: 0 (count: 0, min: 0, max: 0, avg: 0,00) Length (states) of path with itp 'true': 0 (count: 0, min: 0, max: 0, avg: 0,00) Length (states) of path with itp non-trivial itp: 0 (count: 0, min: 0, max: 0, avg: 0,00) Length (states) of path with itp 'false': 0 (count: 0, min: 0, max: 0, avg: 0,00) Different non-trivial interpolants along paths: 0 (count: 0, min: 0, max: 0, avg: 0,00) Equal non-trivial interpolants along paths: 0 (count: 0, min: 0, max: 0, avg: 0,00) Different precisions along paths: 0 (count: 0, min: 0, max: 0, avg: 0,00) Equal precisions along paths: 0 (count: 0, min: 0, max: 0, avg: 0,00) Number of refs with location-based cutoff: 0 CEGAR algorithm statistics -------------------------- Number of refinements: 0 Counterexample-Check Algorithm statistics ----------------------------------------- Number of counterexample checks: 0 CPAchecker general statistics ----------------------------- Number of program locations: 2949 Number of functions: 153 Number of loops: 23 Size of reached set: 1173 Number of reached locations: 552 (19%) Avg states per location: 2 Max states per location: 20 (at node N348) Number of reached functions: 42 (27%) Number of partitions: 1173 Avg size of partitions: 1 Max size of partitions: 1 Number of target states: 0 Size of final wait list 40 Time for analysis setup: 4.145s Time for loading CPAs: 0.720s Time for loading parser: 0.342s Time for CFA construction: 2.992s Time for parsing file(s): 0.930s Time for AST to CFA: 1.123s Time for CFA sanity check: 0.000s Time for post-processing: 0.792s Time for var class.: 0.000s Time for Analysis: 0.806s CPU time for analysis: 1.500s Total time for CPAchecker: 4.953s Total CPU time for CPAchecker: 10.070s Time for Garbage Collector: 0.000s (in 0 runs) Garbage Collector(s) used: PS MarkSweep, PS Scavenge Used heap memory: 403MB ( 384 MiB) max; 226MB ( 215 MiB) avg; 424MB ( 404 MiB) peak Used non-heap memory: 23MB ( 22 MiB) max; 16MB ( 15 MiB) avg; 23MB ( 22 MiB) peak Used in PS Old Gen pool: 0MB ( 0 MiB) max; 0MB ( 0 MiB) avg; 0MB ( 0 MiB) peak Allocated heap memory: 2024MB ( 1930 MiB) max; 2024MB ( 1930 MiB) avg Allocated non-heap memory: 25MB ( 23 MiB) max; 24MB ( 23 MiB) avg Total process virtual memory: 57054MB ( 54411 MiB) max; 57054MB ( 54411 MiB) avg Verification result: UNKNOWN, incomplete analysis. More details about the verification run can be found in the directory "./output".