Commit graph

4888 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
fea122f7ba Bump version to 2.5.3.dev
* NEWS, configure.ac: Here.
2018-04-20 07:59:33 +02:00
Alexandre Duret-Lutz
8de9f6aa26 Release Spot 2.5.3
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2018-04-20 07:57:01 +02:00
Alexandre Duret-Lutz
965ae855c2 is_unambiguous: fix false negatives again
Reported by Simon Jantsch and David Müller.

* spot/twaalgos/isunamb.cc (is_unambiguous): Rewrite wihtout assuming
that the product of two accepting SCCs is accepting,  Also use
the result of is_accepting_scc()/is_rejectng_scc() when available.
* spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh: Make it
possible to check the acceptance of a unique SCC.
* tests/core/unambig.test: Add more test cases.
2018-04-15 22:35:00 +02:00
Alexandre Duret-Lutz
2fe67769d7 is_unambiguous: fix false negatives again
Reported by Simon Jantsch and David Müller.

* spot/twaalgos/isunamb.cc (is_unambiguous): Rewrite wihtout assuming
that the product of two accepting SCCs is accepting,  Also use
the result of is_accepting_scc()/is_rejectng_scc() when available.
* spot/twaalgos/sccinfo.cc, spot/twaalgos/sccinfo.hh: Make it
possible to check the acceptance of a unique SCC.
* tests/core/unambig.test: Add more test cases.
2018-04-15 21:30:31 +02:00
Alexandre Duret-Lutz
befdb03c9a * debian/rules: Disable valgrind. 2018-04-10 14:14:08 +02:00
Alexandre Duret-Lutz
978cebe606 is_unambiguous: fix false negatives
Reported by Simon Jantsch and David Müller.

* tests/core/unambig.test: Test the issue.
* spot/twaalgos/isunamb.cc: Fix it.
* NEWS: Mention it.
* THANKS: Add Simon.
2018-04-09 10:38:23 +02:00
Alexandre Duret-Lutz
e2a71cba38 org: fix broken links
* doc/org/upgrade2.org, doc/org/ioltl.org, doc/org/concepts.org: Here.
* doc/org/tut51.org: Fix example output.
2018-04-09 10:37:54 +02:00
Alexandre Duret-Lutz
8add81824a gitlab-ci: skip org-mode in mingw builds
* .gitlab-ci.yml: Here.
* doc/Makefile.am: Make sure the svg files are only rebuilt when org
files are processed.
2018-04-09 10:37:54 +02:00
Alexandre Duret-Lutz
568a6180f1 is_unambiguous: fix false negatives
Reported by Simon Jantsch and David Müller.

* tests/core/unambig.test: Test the issue.
* spot/twaalgos/isunamb.cc: Fix it.
* NEWS: Mention it.
* THANKS: Add Simon.
2018-04-09 10:22:49 +02:00
Alexandre Duret-Lutz
6cec43294d dot: name the digraph
* spot/twaalgos/dot.cc: Here.
* NEWS: Mention the change.
* tests/core/alternating.test, tests/core/det.test,
tests/core/dstar.test, tests/core/monitor.test,
tests/core/neverclaimread.test, tests/core/readsave.test,
tests/core/sccdot.test, tests/core/tgbagraph.test,
tests/python/_altscc.ipynb, tests/python/_autparserr.ipynb,
tests/python/alternation.ipynb, tests/python/atva16-fig2a.ipynb,
tests/python/atva16-fig2b.ipynb, tests/python/automata-io.ipynb,
tests/python/automata.ipynb, tests/python/decompose.ipynb,
tests/python/gen.ipynb, tests/python/highlighting.ipynb,
tests/python/ltsmin-dve.ipynb, tests/python/ltsmin-pml.ipynb,
tests/python/parity.ipynb, tests/python/product.ipynb,
tests/python/randaut.ipynb, tests/python/satmin.ipynb,
tests/python/stutter-inv.ipynb, tests/python/testingaut.ipynb,
tests/python/word.ipynb: Adjust test cases.
2018-04-07 18:58:58 +02:00
Alexandre Duret-Lutz
2775b0abc8 dot: use tooltips with option "1"
Fixes #327.

* spot/twaalgos/dot.cc: Emit a tooltip="..." for state names and
labels that are disabled by option "1".
* doc/org/tut51.org, tests/python/product.ipynb, NEWS: Discuss this.
* tests/core/readsave.test, tests/python/alternation.ipynb,
tests/python/automata.ipynb: Adjust test cases.
2018-04-07 18:58:58 +02:00
Alexandre Duret-Lutz
99876048ed org: adjust to org-mode 9.1
This is needed so that SVG files are included as an <object...> rather
than as an <img...>, which in turn is needed to ensure SVG tooltips
will work.  We do not explicitly require org-mode 9.1, but we install
it if it is not present.

* HACKING: Mention the requirement.
* doc/org/.dir-locals.el.in, doc/org/init.el.in, doc/org/spot.css:
Adjust to org-mode 9.1.
* doc/Makefile.am: Run emacs with the site-lisp libraries, in
case it contains a more recent org-mode.
* elisp/ob-dot.el: Delete, this was a work around older versions.
* elisp/Makefile.am: Adjust.
2018-04-07 18:58:58 +02:00
Alexandre Duret-Lutz
309eb0bbaa org: fix broken links
* doc/org/upgrade2.org, doc/org/ioltl.org, doc/org/concepts.org: Here.
* doc/org/tut51.org: Fix example output.
2018-04-07 18:11:10 +02:00
Alexandre Duret-Lutz
be9096a5cd gitlab-ci: skip org-mode in mingw builds
* .gitlab-ci.yml: Here.
* doc/Makefile.am: Make sure the svg files are only rebuilt when org
files are processed.
2018-04-07 18:11:10 +02:00
Alexandre Duret-Lutz
af6b09408a python: make sure spot.automata() terminates the command
Fixes #341.

* python/spot/__init__.py (automata): Rewrite and simplify using
the subprocess context manager.
* tests/python/341.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the issue.
2018-04-03 16:40:16 +02:00
Alexandre Duret-Lutz
cbfbf53617 python: make sure spot.automata() terminates the command
Fixes #341.

* python/spot/__init__.py (automata): Rewrite and simplify using
the subprocess context manager.
* tests/python/341.py: New file.
* tests/Makefile.am: Add it.
* NEWS: Mention the issue.
2018-04-03 15:12:58 +02:00
Alexandre Duret-Lutz
6afc2d45e0 complete reference to Esparza/Křetínský/Sickert LICS'18 paper
* NEWS, bin/man/spot-x.x, bin/spot-x.cc, spot/twaalgos/gfguarantee.hh:
Add the conference.
2018-04-02 16:41:45 +02:00
Alexandre Duret-Lutz
c766f58d5d sat_minimize: improve logs and document Python bindings
* spot/priv/satcommon.cc, spot/priv/satcommon.hh: Make it possible to
set the log file without setting the environment variable.  Adjust
print_log to take the input state and print it as a new column.
* spot/twaalgos/dtbasat.cc, spot/twaalgos/dtwasat.cc: Adjust all
calls to print_log.  Fix log output for incremental approaches.
Prefer purge_unreachable_states() over stats_reachable().  Do
not call scc_filter() on colored automata.
* spot/twaalgos/dtwasat.hh: Document the new "log" option.
* NEWS: Mention the changes.
* tests/python/satmin.ipynb: New file.
* tests/Makefile.am: Add it.
* doc/org/satmin.org, doc/org/tut.org: Link to it.
* doc/org/satmin.org, bin/man/spot-x.x: Adjust description
of CSV files.
* bench/dtgbasat/gen.py, bench/dtgbasat/tabl.pl,
bench/dtgbasat/tabl1.pl, bench/dtgbasat/tabl2.pl,
bench/dtgbasat/tabl3.pl, bench/dtgbasat/tabl4.pl: Adjust for
the new column.
* spot/misc/satsolver.cc, spot/misc/satsolver.hh (stats): Make it
const.
* python/spot/__init__.py (sat_minimize): Add display_log and
return_log options.
* tests/python/ipnbdoctest.py: Adjust to not compare SAT-minimization
logs as they contain timings.
2018-03-30 18:01:59 +02:00
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