streett_to_generalized_buchi: fix incorrect algorithm

Fixes #284, reported by Juraj Major.

* spot/twaalgos/totgba.cc: Fix the algorithm.
* spot/twa/acc.hh: More doc for future generations.
* tests/core/scc.test: More test cases.
* NEWS: Mention the issues.
This commit is contained in:
Alexandre Duret-Lutz 2017-09-26 17:17:17 +02:00
parent cfa80ed842
commit 32087f29ad
4 changed files with 85 additions and 8 deletions

7
NEWS
View file

@ -5,6 +5,13 @@ New in spot 2.4.0.dev (not yet released)
- spot::scc_info::determine_unknown_acceptance() incorrectly
considered some rejecting SCC as accepting.
- spot::streett_to_generalized_buchi() could generate automata with
empty language if some Fin set did not intersect all accepting
SCCs. As a consequence, some Streett-like automata were
considered empty even though they were not. Also, the same
function could crash on input that had a Streett-like acceptance
not using all declared sets.
- The twa_graph::mege_edges() function relied on BDD IDs to sort
edges. This in turn caused some algorithm (like the
degeneralization) to produce slighltly different outputs (but