scripts/cpa.sh -svcomp23 -heap 10000M -benchmark -timelimit '900 s' -stats -spec /mnt/goblint-svcomp/goblint-bench/bench/concrat/properties/no-data-race.prp -32 /mnt/goblint-svcomp/goblint-bench/bench/concrat/race-challenges/thread-join-counter-inner-3.i


--------------------------------------------------------------------------------


Running CPAchecker with Java heap of size 10000M.
Running CPAchecker with default stack size (1024k). Specify a larger value with -stack if needed.
Language C detected and set for analysis (CPAMain.detectFrontendLanguageIfNecessary, INFO)

Using the following resource limits: CPU-time limit of 900s (ResourceLimitChecker.fromConfiguration, INFO)

CPAchecker 2.2 (OpenJDK 64-Bit Server VM 17.0.8.1) started (CPAchecker.run, INFO)

Parsing CFA from file(s) "/mnt/goblint-svcomp/goblint-bench/bench/concrat/race-challenges/thread-join-counter-inner-3.i" (CPAchecker.parse, INFO)

program contains concurrency, cloning functions... (CFACreator.postProcessingOnMutableCFAs, INFO)

Using predicate analysis with MathSAT5 version 5.6.8 (27814677e16f) (Jun 28 2022 17:03:19, gmp 6.1.2, gcc 6.3.0, 64-bit, reentrant) and JFactory 1.21. (PredicateCPA:PredicateCPA.<init>, INFO)

Starting analysis ... (CPAchecker.runAlgorithm, INFO)

Assuming external function pthread_mutex_lock to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function pthread_create to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function pthread_detach to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

Assuming external function pthread_mutex_unlock to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

multiple thread assignments to same LHS, using identifier tid__CPAchecker__1 instead of tid (ThreadingCPA:ThreadingTransferRelation.getNewThreadId, WARNING)

Assuming external function pthread_cond_signal to be a pure function. (PredicateCPA:ExpressionToFormulaVisitor.visit, INFO)

multiple thread assignments to same LHS, using identifier tid__CPAchecker__2 instead of tid (ThreadingCPA:ThreadingTransferRelation.getNewThreadId, WARNING)

multiple thread assignments to same LHS, using identifier tid__CPAchecker__3 instead of tid (ThreadingCPA:ThreadingTransferRelation.getNewThreadId, WARNING)

Error: line 718: Unsupported feature (pthread condition variables): pthread_cond_wait(&threads_alive_cond, &threads_alive_mutex); (ThreadingTransferRelation.getAbstractSuccessorsForEdge0, SEVERE)


PredicateCPA statistics
-----------------------
Number of abstractions:            348 (35% of all post computations)
  Times abstraction was reused:    0
  Because of function entry/exit:  267 (77%)
  Because of loop head:            81 (23%)
  Because of join nodes:           0 (0%)
  Because of threshold:            0 (0%)
  Because of target state:         0 (0%)
  Times precision was empty:       348 (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:         234
  BDD entailment checks:           146
Number of SMT sat checks:          0
  trivial:                         0
  cached:                          0

Max ABE block size:                       9
Avg ABE block size:                                0.75 (sum: 262, count: 348, min: 0, max: 9)
Number of predicates discovered:          0

Time for post operator:                                0.102s
  Time for path formula creation:                      0.098s
Time for strengthen operator:                          0.010s
Time for prec operator:                                0.036s
  Time for abstraction:                  0.009s (Max:     0.001s, Count: 348)
    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.006s
Time for coverage checks:                              0.004s
  Time for BDD entailment checks:                      0.004s
Total time for SMT solver (w/o itp):     0.000s

Number of path formula cache hits:   620 (49%)

Inside post operator:                  
  Inside path formula creation:        
    Time for path formula computation:     0.092s

Total number of created targets for pointer analysis: 0


Number of BDD nodes:                               202
Size of BDD node table:                            524309
Size of BDD cache:                                 52433
Size of BDD node cleanup queue:                    0.00 (sum: 0, count: 495, min: 0, max: 0)
Time for BDD node cleanup:                             0.000s
Time for BDD garbage collection:                       0.000s (in 0 runs)

KeyValue statistics
-------------------
Init. function predicates:                         0
Init. global predicates:                           0
Init. location predicates:                         0

Invariant Generation statistics
-------------------------------

ValueAnalysisCPA statistics
---------------------------
Number of variables per state:                     4.21 (sum: 3698, count: 879, min: 0, max: 8)
Number of global variables per state:              1.97 (sum: 1729, count: 879, min: 0, max: 3)
Number of assumptions:                                  104
Number of deterministic assumptions:                      0
Level of Determinism:                              0%

ValueAnalysisPrecisionAdjustment statistics
-------------------------------------------
Number of abstraction computations:                     994
Total time for liveness abstraction:                   0.000s
Total time for abstraction computation:                0.004s
Total time for path thresholds:                        0.000s

ConstraintsStrengthenOperator statistics
----------------------------------------
Total time for strengthening by ConstraintsCPA:     0.000s
Replaced symbolic expressions: 0

AutomatonAnalysis (DataRace) statistics
---------------------------------------
Number of states:                                  1
Total time for successor computation:                  0.004s
Total time for strengthen operator:                    0.113s
Automaton transfers with branching:                0
Automaton transfer successors:                     1.00 (sum: 994, count: 994, min: 1, max: 1) [1 x 994]
Number of states with assumption transitions:      0

AutomatonAnalysis (svcompTerminatingFunctions) statistics
---------------------------------------------------------
Number of states:                                  1
Total time for successor computation:                  0.004s
Automaton transfers with branching:                0
Automaton transfer successors:                     1.00 (sum: 994, count: 994, min: 1, max: 1) [1 x 994]
Number of states with assumption transitions:      0

CPA algorithm statistics
------------------------
Number of iterations:            794
Max size of waitlist:            86
Average size of waitlist:        30
Number of computed successors:   994
Max successors for one state:    4
Number of times merged:          12
Number of times stopped:         116
Number of times breaked:         0

Total time for CPA algorithm:         0.558s (Max:     0.558s)
  Time for choose from waitlist:      0.000s
  Time for precision adjustment:      0.066s
  Time for transfer relation:         0.432s
  Time for merge operator:            0.021s
  Time for stop operator:             0.015s
  Time for adding to reached set:     0.009s

CPAchecker general statistics
-----------------------------
Number of program locations:                       518
Number of CFA edges (per node):                         508 (count: 518, min: 0, max: 2, avg: 0.98)
Number of relevant variables:                      16
Number of functions:                               13
Number of loops (and loop nodes):                         8 (sum: 51, min: 3, max: 7, avg: 6.38)
Size of reached set:             879
  Number of partitions:          878
    Avg size of partitions:      1
    Max size of partitions:      2 (with key [{main=N44 (before line 711) Function main called from node N33, stack depth 1 [6dee8ae6], stack [main] @@ 0, tid=N96 (before line 691) Function thread__cloned_function__1 called from node N87, stack depth 1 [28e0e464], stack [thread__cloned_function__1] @@ 1}])
  Number of target states:       0
  Size of final wait list:       86

Time for analysis setup:          0.931s
  Time for loading CPAs:          0.268s
  Time for loading parser:        0.125s
  Time for CFA construction:      0.490s
    Time for parsing file(s):     0.202s
    Time for AST to CFA:          0.150s
    Time for CFA sanity check:    0.001s
    Time for post-processing:     0.097s
      Time for function pointers resolving:            0.002s
        Function calls via function pointers:             0 (count: 1, min: 0, max: 0, avg: 0.00)
        Instrumented function pointer calls:              0 (count: 1, min: 0, max: 0, avg: 0.00)
        Function calls with function pointer arguments:        0 (count: 1, min: 0, max: 0, avg: 0.00)
        Instrumented function pointer arguments:          0 (count: 1, min: 0, max: 0, avg: 0.00)
      Time for classifying variables:                  0.051s
        Time for collecting variables:                 0.032s
        Time for solving dependencies:                 0.001s
        Time for building hierarchy:                   0.000s
        Time for building classification:              0.018s
        Time for exporting data:                       0.000s
Time for Analysis:                0.559s
CPU time for analysis:            2.230s
Total time for CPAchecker:        1.491s
Total CPU time for CPAchecker:    5.200s
Time for statistics:              0.052s

Time for Garbage Collector:       0.024s (in 4 runs)
Garbage Collector(s) used:    G1 Old Generation, G1 Young Generation

Verification result: UNKNOWN, incomplete analysis.
More details about the verification run can be found in the directory "./output".
