Commit graph

4870 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
5266010889 gfguarantee: fix a typo in the code
* spot/twaalgos/gfguarantee.cc: Call is_terminal_automaton() on
the reduced automaton.
* tests/core/ltl2tgba.test: Add a test case.
2018-03-29 14:02:07 +02:00
Alexandre Duret-Lutz
85db27694a * .gitlab-ci.yml (publish-stable): Use scp instead of cp. 2018-03-28 18:22:31 +02:00
Alexandre Duret-Lutz
fc786d401a autfilt: fix --sat-minimize -B
Fixes #340.

* bin/common_post.cc: -B implies -S.
* tests/core/satmin2.test: Test this.
2018-03-28 18:22:31 +02:00
Alexandre Duret-Lutz
71fbca8b0d python: fix error message of translate()/posprocess()
* python/spot/__init__.py: Here.
* NEWS: Mention the bug.
2018-03-28 18:22:31 +02:00
Alexandre Duret-Lutz
c9716018ce * spot/twaalgos/strength.cc: Typo. 2018-03-28 18:22:31 +02:00
Alexandre Duret-Lutz
5e2a8a581a to_dca/to_nca: fix handling of co-Büchi input
* spot/twaalgos/cobuchi.cc (to_dca, to_nca): Do not process
the input if it is already co-Büchi.
* tests/core/dca.test: Test this.
* NEWS: Mention the bug.
2018-03-28 18:22:31 +02:00
Alexandre Duret-Lutz
a9bf4dfa58 work around some g++-7.3 issues
* spot/twaalgos/langmap.cc, spot/ltsmin/ltsmin.cc: Add asserts to hide
spurious "potential null pointer dereference" messages.
* spot/twaalgos/tau03opt.cc (color_ref): Initialize pc to nullptr
even when is_cyan is true so that valgrind does not report pc being
used uninitialized in is_white().
2018-03-28 18:21:54 +02:00
Alexandre Duret-Lutz
7a65bdf6bc specialized translation for GF(guarantee) and FG(safety)
This is adapted from a proposition in a paper by J. Esparza,
J. Křentínský, and S. Sickert, submitted to LICS'18.  We should add
proper references to the code and documentation once that paper is
accepted.

* spot/twaalgos/gfguarantee.cc, spot/twaalgos/gfguarantee.hh:
New files.
* spot/twaalgos/Makefile.am, python/spot/impl.i: Add them.
* spot/twa/fwd.hh: Add a forward declaration of bdd_dict_ptr.
* spot/twaalgos/postproc.cc, spot/twaalgos/postproc.hh: Make it
possible to call finalize() from the translator subclass.  Constify
all the do_* functions while we are there.
* spot/twaalgos/translate.cc, spot/twaalgos/translate.hh: Add
a "gf-guarantee" option to decide whether to use the new translation.
* bin/spot-x.cc: Document it.
* tests/core/dca2.test, tests/core/genltl.test,
tests/core/ltl2tgba2.test, tests/core/parity2.test,
tests/core/satmin.test, tests/python/automata.ipynb,
tests/python/sbacc.py: Adjust test cases.
* tests/python/except.py: Add a couple more tests.
2018-03-28 18:20:46 +02:00
Alexandre Duret-Lutz
89f7047925 * .gitlab-ci.yml (publish-stable): Use scp instead of cp. 2018-03-28 18:20:44 +02:00
Alexandre Duret-Lutz
82796c04ae autfilt: fix --sat-minimize -B
Fixes #340.

* bin/common_post.cc: -B implies -S.
* tests/core/satmin2.test: Test this.
2018-03-28 18:20:44 +02:00
Alexandre Duret-Lutz
ee30f96676 python: fix error message of translate()/posprocess()
* python/spot/__init__.py: Here.
* NEWS: Mention the bug.
2018-03-28 18:20:44 +02:00
Alexandre Duret-Lutz
4ac3143b53 * spot/twaalgos/strength.cc: Typo. 2018-03-28 18:20:43 +02:00
Alexandre Duret-Lutz
7957a231a1 to_dca/to_nca: fix handling of co-Büchi input
* spot/twaalgos/cobuchi.cc (to_dca, to_nca): Do not process
the input if it is already co-Büchi.
* tests/core/dca.test: Test this.
* NEWS: Mention the bug.
2018-03-28 18:20:43 +02:00
Alexandre Duret-Lutz
fc205c1883 work around some g++-7.3 issues
* spot/twaalgos/langmap.cc, spot/ltsmin/ltsmin.cc: Add asserts to hide
spurious "potential null pointer dereference" messages.
* spot/twaalgos/tau03opt.cc (color_ref): Initialize pc to nullptr
even when is_cyan is true so that valgrind does not report pc being
used uninitialized in is_white().
2018-03-27 22:25:26 +02:00
Alexandre Duret-Lutz
095d019940 Merge branch 'master' into next 2018-03-25 10:01:48 +02:00
Alexandre Duret-Lutz
a323662e8a bump version to 2.5.2.dev
* NEWS, configure.ac: Here.
2018-03-25 09:59:12 +02:00
Alexandre Duret-Lutz
2f369d74ac Release Spot 2.5.2
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2018-03-25 09:53:41 +02:00
Alexandre Duret-Lutz
006de5da70 * spot/twaalgos/ltl2taa.cc: Remove unused variable. 2018-03-24 10:04:52 +01:00
Alexandre Duret-Lutz
95ad831c40 * spot/twaalgos/ltl2taa.cc: Remove unused variable. 2018-03-24 09:55:54 +01:00
Alexandre Duret-Lutz
c476b2ee3c stutter: fix closure() on Fin-acceptance
From a report by Anton Pirogov.

* NEWS: Mention the bug.
* spot/twaalgos/stutter.cc: Fix it.
* tests/core/stutter-tgba.test: Test it.
* THANKS: Add Anton.
2018-03-23 22:21:59 +01:00
Alexandre Duret-Lutz
69a3e8486e stutter: fix closure() on Fin-acceptance
From a report by Anton Pirogov.

* NEWS: Mention the bug.
* spot/twaalgos/stutter.cc: Fix it.
* tests/core/stutter-tgba.test: Test it.
* THANKS: Add Anton.
2018-03-23 18:51:00 +01:00
Alexandre Duret-Lutz
b25ec6fe02 powerset: implement an LRU cache
* spot/twaalgos/powerset.cc: Use an LRU cache to fix #302.
2018-03-21 11:02:04 +01:00
Alexandre Duret-Lutz
56d675cc13 * doc/org/autcross.org: Typo. 2018-03-19 17:12:59 +01:00
Alexandre Duret-Lutz
0faf80fa31 * doc/org/autcross.org: Typo. 2018-03-19 15:25:37 +01:00
Alexandre Duret-Lutz
0ec5ebac3f autcross: support %M in tool specifications
Fixes #335.

* bin/common_trans.cc: Add support.
* tests/core/autcross4.test: New file.
* tests/Makefile.am: Add it.
* doc/org/autcross.org, NEWS: Document it.
2018-03-19 15:25:30 +01:00
Alexandre Duret-Lutz
a445778cd8 twa_run: better protection against empty cycles
Fixes #337.

* spot/twaalgos/emptiness.cc, spot/twaalgos/emptiness.hh: Here.
* tests/python/except.py: Test it.
* NEWS: Mention the issue.
2018-03-18 11:21:11 +01:00
Alexandre Duret-Lutz
76d4fe236c autfilt --acceptance-is=Fin-less should reject "f"
* bin/autfilt.cc: Fix detection of Fin-less acceptance.
* tests/core/remfin.test: Add some tests.
* NEWS: Mention the bug.
2018-03-18 11:21:11 +01:00
Alexandre Duret-Lutz
41722c0c5f remove_fin: never return acceptance "f"
Fixes #333.

* spot/twaalgos/remfin.cc, spot/twaalgos/remfin.hh,
spot/twaalgos/totgba.cc: Adjust.  The assert() added
to remove_fin() triggered a lot of failure in the test
suite before the different functions were fixed.
* tests/core/remfin.test, tests/python/tra2tba.py:
Adjust expected result.
* NEWS: Mention the bug.
2018-03-18 11:21:11 +01:00
Alexandre Duret-Lutz
8d8fa4139d autfilt: fix the --acceptance help output
Fixes #334.

* bin/autfilt.cc: Turn std::flush into std::endl, and fix a quoting
issue.
2018-03-18 11:21:01 +01:00
Alexandre Duret-Lutz
028b56d511 twa_run: better protection against empty cycles
Fixes #337.

* spot/twaalgos/emptiness.cc, spot/twaalgos/emptiness.hh: Here.
* tests/python/except.py: Test it.
* NEWS: Mention the issue.
2018-03-16 17:12:26 +01:00
Alexandre Duret-Lutz
1c26764b13 autfilt --acceptance-is=Fin-less should reject "f"
* bin/autfilt.cc: Fix detection of Fin-less acceptance.
* tests/core/remfin.test: Add some tests.
* NEWS: Mention the bug.
2018-03-16 14:00:27 +01:00
Alexandre Duret-Lutz
1db3472a99 remove_fin: never return acceptance "f"
Fixes #333.

* spot/twaalgos/remfin.cc, spot/twaalgos/remfin.hh,
spot/twaalgos/totgba.cc: Adjust.  The assert() added
to remove_fin() triggered a lot of failure in the test
suite before the different functions were fixed.
* tests/core/remfin.test, tests/python/tra2tba.py:
Adjust expected result.
* NEWS: Mention the bug.
2018-03-16 13:58:51 +01:00
Alexandre Duret-Lutz
f2b3653226 autfilt: fix the --acceptance help output
Fixes #334.

* bin/autfilt.cc: Turn std::flush into std::endl, and fix a quoting
issue.
2018-03-16 08:27:20 +01:00
Maximilien Colange
b09c293f1a Clean the usage of spot::acc_cond::mark_t
spot::acc_cond::mark_t is implemented as a bit vector using a single
unsigned, and implicit conversions between mark_t and unsigned may be
confusing. We try to use the proper interface.

* bin/autfilt.cc, bin/ltlsynt.cc, spot/kripke/kripke.cc,
  spot/misc/game.hh, spot/parseaut/parseaut.yy, spot/priv/accmap.hh,
  spot/ta/ta.cc, spot/ta/taexplicit.cc, spot/ta/taproduct.cc,
  spot/taalgos/emptinessta.cc, spot/taalgos/tgba2ta.cc, spot/twa/acc.cc,
  spot/twa/acc.hh, spot/twa/taatgba.cc, spot/twa/taatgba.hh,
  spot/twa/twagraph.hh, spot/twaalgos/alternation.cc,
  spot/twaalgos/cleanacc.cc, spot/twaalgos/cobuchi.cc,
  spot/twaalgos/complete.cc, spot/twaalgos/couvreurnew.cc,
  spot/twaalgos/degen.cc, spot/twaalgos/dot.cc,
  spot/twaalgos/dtwasat.cc, spot/twaalgos/dualize.cc,
  spot/twaalgos/emptiness.cc, spot/twaalgos/gtec/ce.cc,
  spot/twaalgos/gtec/gtec.cc, spot/twaalgos/gtec/sccstack.cc,
  spot/twaalgos/gv04.cc, spot/twaalgos/hoa.cc, spot/twaalgos/lbtt.cc,
  spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/magic.cc,
  spot/twaalgos/ndfs_result.hxx, spot/twaalgos/rabin2parity.cc,
  spot/twaalgos/randomgraph.cc, spot/twaalgos/remfin.cc,
  spot/twaalgos/sbacc.cc, spot/twaalgos/sccfilter.cc,
  spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh,
  spot/twaalgos/se05.cc, spot/twaalgos/sepsets.cc,
  spot/twaalgos/simulation.cc, spot/twaalgos/strength.cc,
  spot/twaalgos/stripacc.cc, spot/twaalgos/stutter.cc,
  spot/twaalgos/sum.cc, spot/twaalgos/tau03.cc,
  spot/twaalgos/tau03opt.cc, spot/twaalgos/totgba.cc,
  spot/twaalgos/toweak.cc, python/spot/impl.i, tests/core/acc.cc,
  tests/core/twagraph.cc: do not confuse mark_t and unsigned
* tests/python/acc_cond.ipynb: warn about possible change of the API
2018-03-15 10:05:24 +01:00
Alexandre Duret-Lutz
cfcc18e680 simplify: reduce {r;1} to {r} or {1}
Fixes #3.

* spot/tl/simplify.cc: Implement this new rule.
* doc/tl/tl.tex, NEWS: Document it.
* tests/core/reduccmp.test: Test it.
2018-03-15 07:59:25 +01:00
Alexandre Duret-Lutz
2d18ac22fb always capture exceptions by const references
For #199.

* tests/sanity/style.test: Test this.
* bin/ltlcross.cc, spot/parseaut/parseaut.yy,
tests/ltsmin/modelcheck.cc: Fix it.
2018-03-14 17:51:08 +01:00
Alexandre Duret-Lutz
b6e44e6b8b acc: strengthen is_generalized_rabin() and is_generalized_streett()
* spot/twa/acc.cc: These functions were segfaulting on acceptance
conditions such as "Acceptance: 3 t" or "Acceptance: 3 f".
The issue was revealed on branch "next" by the change that print_dot()
display the acceptance condition by default, but we want the fix on
master as well.
* NEWS: Mention the issue.
2018-03-14 15:47:11 +01:00
Alexandre Duret-Lutz
651a27202c [buddy] do not use ACLOCAL_AMFLAGS anymore
Fixes #326.

* Makefile.am: Here.
2018-03-14 15:46:25 +01:00
Maximilien Colange
6a3e8e95c5 Fix various typos
* bin/autfilt.cc, bin/common_post.cc, spot/graph/graph.hh,
  spot/twa/twa.hh, spot/twa/twagraph.hh, spot/twaalgos/remfin.cc: typos
* spot/twaalgos/toweak.cc: incorrect types when invoking std::hash
2018-03-14 15:45:23 +01:00
Alexandre Duret-Lutz
548a35ad57 adjust test case to work with ltl2dstar 0.5.4
* tests/core/ltl2dstar.test: Here.
2018-03-14 15:45:23 +01:00
Alexandre Duret-Lutz
f1924430e2 org: update plantuml download URL
* doc/Makefile.am: Here.
2018-03-14 15:45:23 +01:00
Alexandre Duret-Lutz
ddfbd4edc4 * .gitlab-ci.yml: Switch to LRDE's docker registry. 2018-03-14 15:45:23 +01:00
Alexandre Duret-Lutz
1a31589a2e More config for GitLab-CI
* .gitlab-ci.yml: Add a build with gcc-snapshot, and disable Debian
packages on all branches except master/next/stable and branches ending
in "-deb".
2018-03-14 15:44:53 +01:00
Alexandre Duret-Lutz
2a308182db dot: make "a" the default
Fixes #319.

* spot/twaalgos/dot.cc: Enable "a" by default.
* bin/common_aoutput.cc, NEWS: Document it.
* doc/org/autfilt.org, doc/org/concepts.org, doc/org/dstar2tgba.org,
doc/org/hierarchy.org, doc/org/ltl2tgba.org, doc/org/oaut.org,
doc/org/randaut.org, doc/org/satmin.org, doc/org/tut23.org,
doc/org/tut24.org, doc/org/tut30.org, doc/org/tut31.org: Adjust or
simplify the documentation.
* tests/core/det.test, tests/core/dstar.test, tests/core/monitor.test,
tests/core/neverclaimread.test, tests/core/readsave.test,
tests/core/tgbagraph.test, tests/core/wdba.test,
tests/python/_autparserr.ipynb, tests/python/automata-io.ipynb,
tests/python/automata.ipynb, tests/python/highlighting.ipynb
tests/python/ltsmin-dve.ipynb, tests/python/ltsmin-pml.ipynb,
tests/python/product.ipynb, tests/python/testingaut.ipynb,
tests/python/word.ipynb: Adjust test cases.
2018-03-10 23:23:51 +01:00
Alexandre Duret-Lutz
15fdac6059 acc: strengthen is_generalized_rabin() and is_generalized_streett()
* spot/twa/acc.cc: These functions were segfaulting on acceptance
conditions such as "Acceptance: 3 t" or "Acceptance: 3 f".
The issue was revealed on branch "next" by the change that print_dot()
display the acceptance condition by default, but we want the fix on
master as well.
* NEWS: Mention the issue.
2018-03-10 20:35:07 +01:00
Alexandre Duret-Lutz
057e67e7f6 [buddy] do not use ACLOCAL_AMFLAGS anymore
Fixes #326.

* Makefile.am: Here.
2018-03-09 20:24:37 +01:00
Alexandre Duret-Lutz
23903d204f configure: remove useless calls to AC_CHECK_PROG
Fixes #329.

* configure.ac: Do not check for lbt, modella, and ltl2nba.
* bench/ltl2tgba/defs.in: Remove the associated substitutions,
not used in the scripts.
2018-03-09 20:21:43 +01:00
Alexandre Duret-Lutz
cd9af7214d * spot/misc/hash.hh: Remove useless include. 2018-03-09 20:11:22 +01:00
Maximilien Colange
304f5623d8 Clean a hash function definition
* spot/misc/hashfunc.hh: make the definition of FNV hash magic constants
  more generic
2018-03-08 10:30:08 +01:00
Maximilien Colange
85bc05e737 Move the Fowler-Noll-Vo hash function to a header
* spot/misc/bitvect.cc, spot/misc/hashfunc.hh: move FNV hash function,
  use the new interface
2018-03-02 17:41:06 +01:00