Replace prune_scc() by scc_filter().
prune_scc() leaked memory and failed to remove chains of useless SCCs. * src/tgbaalgos/reductgba_sim.cc (reduc_tgba_sim): Call scc_filter() instead of prune_scc(), and do it before running any simulation-based reduction. * src/tgbaalgos/reductgba_sim.hh (reduc_tgba_sim): Return a const tgba*. * src/tgbatest/ltl2tgba.cc: Call scc_filter() instead of prune_scc(). * src/tgbatest/scc.test: Add two more tests that failed with prune_scc().
This commit is contained in:
parent
74f620d192
commit
7ea51cc65f
6 changed files with 122 additions and 66 deletions
|
|
@ -48,3 +48,27 @@ accepting paths: 2
|
|||
dead paths: 1
|
||||
EOF
|
||||
diff stdout expected
|
||||
|
||||
run 0 ../ltl2tgba -f -R3 -k '(b U a) | (GFa & XG!a)' >stdout
|
||||
cat >expected <<EOF
|
||||
transitions: 5
|
||||
states: 3
|
||||
total SCCs: 3
|
||||
accepting SCCs: 1
|
||||
dead SCCs: 0
|
||||
accepting paths: 2
|
||||
dead paths: 0
|
||||
EOF
|
||||
diff stdout expected
|
||||
|
||||
run 0 ../ltl2tgba -f -R3 -k 'XXXX(0)' >stdout
|
||||
cat >expected <<EOF
|
||||
transitions: 0
|
||||
states: 1
|
||||
total SCCs: 1
|
||||
accepting SCCs: 0
|
||||
dead SCCs: 1
|
||||
accepting paths: 0
|
||||
dead paths: 1
|
||||
EOF
|
||||
diff stdout expected
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue