Commit graph

4641 commits

Author SHA1 Message Date
Alexandre Duret-Lutz
904cfb27fa scc_info: detect incorrect initial state
* spot/twaalgos/sccinfo.cc: Here.
* tests/python/sccinfo.py: Test it.
2017-12-22 17:23:10 +01:00
Alexandre Duret-Lutz
31ccab026b python: allow spot.formula(spot.formula(...))
* python/spot/__init__.py: Recognize if the input is already a
formula.
* tests/python/formulas.ipynb: Test this.
2017-12-22 17:18:36 +01:00
Alexandre Duret-Lutz
3b4335d243 stutter: two new functions
* spot/twaalgos/stutter.hh, spot/twaalgos/stutter.cc: Introduce
is_stutter_invariant_forward_closed and
make_stutter_invariant_forward_closed_inplace.
* tests/python/stutter-inv.ipynb: Use them.
2017-12-19 21:03:35 +01:00
Alexandre Duret-Lutz
8d5f2ca917 * tests/python/ipnbdoctest.py: Work around different pandas versions. 2017-12-19 21:03:35 +01:00
Alexandre Duret-Lutz
7f97c90470 Merge branch 'master' into next 2017-12-19 10:40:50 +01:00
Alexandre Duret-Lutz
696d81f651 Bump version number
* configure.ac, NEWS: Update to 2.4.3.dev.
2017-12-19 10:40:07 +01:00
Alexandre Duret-Lutz
325d3f921f Release Spot 2.4.3
* NEWS, configure.ac, doc/org/setup.org: Update.
2017-12-19 10:13:07 +01:00
Alexandre Duret-Lutz
ac80b07d93 introduce check_determinism()
* spot/twaalgos/isdet.hh, spot/twaalgos/isdet.cc (check_determinism):
New function.
* NEWS: Mention it.
* tests/python/semidet.py: New file.
* tests/Makefile.am: Add it.
2017-12-18 15:57:17 +01:00
Alexandre Duret-Lutz
7500962c3d org: fix URL to last successful build
* doc/org/install.org: Here.
2017-12-14 09:55:38 +01:00
Alexandre Duret-Lutz
62d1e0219d Add support for computing operator nesting depth
* spot/tl/hierarchy.hh, spot/tl/hierarchy.cc (nesting_depth): New
function.
* python/spot/__init__.py: Also make it a method of formula in Python
* bin/common_output.cc, bin/common_output.hh: Implement
--stats=%[OP]n.
* NEWS: Mention it.
* tests/core/format.test, tests/python/formulas.ipynb: Test it.
2017-12-10 20:31:56 +01:00
Alexandre Duret-Lutz
49b76bcf66 doxygen doc: minor improvements
* doc/footer.html: Make the footer XML compatible.
* doc/mainpage.dox: Fix references to modules.
* spot/tl/formula.hh: Introduce a hierarchy module.
* spot/tl/hierarchy.hh: Use it.
2017-12-08 22:07:11 +01:00
Alexandre Duret-Lutz
f56e1e8a6c org: fix URL to last successful build
* doc/org/install.org: Here.
2017-11-28 18:22:32 +01:00
Alexandre Duret-Lutz
89e1dbc3c8 bin: do not redefine argp_bug_address
This prevented static compilation on MinGW.

* bin/common_setup.cc: Here.
2017-11-28 11:31:35 +01:00
Alexandre Duret-Lutz
24a98b1736 fix usage pf importlib.util.find_spec for newer pythons
* tests/python/ipnbdoctest.py: Here.  It seems importlib
does not load importlib.util anymore.
2017-11-28 11:31:35 +01:00
Maximilien Colange
0fabd6b7fb Fix a typo in a test
* tests/sanity/namedprop.test: fix typo for proper output
2017-11-28 11:31:35 +01:00
Alexandre Duret-Lutz
d967dcb155 fix ASAN reports about mismatched emplace new/delete
* spot/misc/bitvect.cc, spot/misc/bitvect.hh, spot/tl/formula.cc,
spot/tl/formula.hh: Here.
* NEWS: Mention the bug.
2017-11-28 11:31:35 +01:00
Alexandre Duret-Lutz
544d63f2f2 couvreur99_new: fix two memory leaks found by ASAN
This only occurs when doing the emptiness check of twa with allocated
states.

* spot/twaalgos/couvreurnew.cc: Here.
* NEWS: Mention the bug.
2017-11-28 11:31:34 +01:00
Alexandre Duret-Lutz
a55801c223 fix some g++-snapshot warnings
* spot/twaalgos/couvreurnew.cc: explicit operator bool is not used by
return.
2017-11-28 11:25:41 +01:00
Alexandre Duret-Lutz
1242ba045e bin: do not redefine argp_bug_address
This prevented static compilation on MinGW.

* bin/common_setup.cc: Here.
2017-11-28 11:24:33 +01:00
Maximilien Colange
b23f1d5054 Finer control over the build of the documentation
* Makefile.am: move the doc subdirectory to its own variable
2017-11-27 14:42:30 +01:00
Alexandre Duret-Lutz
d219e4a556 tests: reduce the memory/time footprint of ltl2dstar.test
* tests/core/ltl2dstar.test: Reduce the amount of tests performed on
one formula that is problematic for ltl2dstar.
2017-11-24 19:35:58 +01:00
Alexandre Duret-Lutz
a9a375ccd8 tests: git rid of all the tool=tool assignents
Our use of
  ltl2tgba=ltl2tgba
  autfilt=autfilt
  ...
all over the test cases comes from the time where those tools were not
in PATH and we actually had something like
  ltl2tgba=../../bin/ltl2tgba
  autfilt=../../bin/autfilt

But today that is useless, and we prefer to write ltl2tgba rather than
$ltl2tgba, so let's remove this old cruft.

* tests/core/basimul.test, tests/core/det.test, tests/core/lbt.test,
tests/core/lenient.test, tests/core/ltl2dstar.test,
tests/core/ltl2dstar2.test, tests/core/ltl2dstar3.test,
tests/core/ltl2dstar4.test, tests/core/ltlcross2.test,
tests/core/ltlcross3.test, tests/core/ltlcross4.test,
tests/core/ltlcrossce2.test, tests/core/ltldo.test,
tests/core/ltlfilt.test, tests/core/optba.test,
tests/core/prodor.test, tests/core/rand.test,
tests/core/randomize.test, tests/core/remfin.test,
tests/core/satmin.test, tests/core/sbacc.test,
tests/core/strength.test, tests/core/stutter-ltl.test,
tests/core/stutter-tgba.test, tests/core/unabbrevwm.test,
tests/core/unambig.test: Get rid of all tool=tool assignments.
2017-11-24 19:35:58 +01:00
Alexandre Duret-Lutz
a31ba7ff80 rename one printable_formula
We currently have 3 printable_formula classes in Spot; let's reduce
this to 2.

* bin/common_output.cc (anonymous::printable_formula): Rename to...
(anonymous::printable_formula_with_location): ... this.
2017-11-24 19:35:58 +01:00
Alexandre Duret-Lutz
c7f6655043 fix doxygen doc build
* debian/rules: Build it last.
* configure.ac: Add missing comma.
2017-11-24 19:35:58 +01:00
Maximilien Colange
ce3eeb448d Fix ltlsynt tests
* tests/core/ltlsynt.test: Escape newlines and test PGsolver printer
2017-11-24 14:42:00 +01:00
Maximilien Colange
d071c7e14f Heavily optimize tgba_determinize()
* spot/twaalgos/determinize.cc: a lot of optimizations (and refactoring)
2017-11-24 14:42:00 +01:00
Maximilien Colange
d358521b3a Fix script running IPython tests
* tests/python/ipnbdoctest.py: skip test when jupyter is not found
2017-11-24 14:37:37 +01:00
Alexandre Duret-Lutz
7b2517a518 formula: accept additional arguments for map and traverse
Fixes #306.

* spot/tl/formula.hh, python/spot/__init__.py: Implement this
in C++ and Python.
* doc/org/tut03.org: Document (and indirectly test) it.
* NEWS: Mention it.
2017-11-23 23:04:15 +01:00
Alexandre Duret-Lutz
7dd791fe59 * doc/Makefile.am (DISTCLEANFILES): Avoid multiple definitions. 2017-11-23 23:03:09 +01:00
Maximilien Colange
1da0afbafe Improve ltlsynt interface
To ease debugging and testing, ltlsynt can output the synthesized
strategy as an automaton, not just an aiger circuit.
Also, its exit code has been changed to something meaningful.

* bin/ltlsynt.cc: Various improvements: options, exit code, code style
* spot/twaalgos/aiger.hh, spot/twaalgos/aiger.cc,
  spot/twaalgos/Makefile.am: Move the aiger printer to separate files
* tests/core/ltlsynt.test: Clean up and update test file
* tests/Makefile.am: Add the test file to the test suite
* NEWS: document the new aiger printer
* doc/org/concepts.org: document the named property "synthesis-outputs",
  used by print_aiger
2017-11-23 14:46:50 +01:00
Alexandre Duret-Lutz
502ddc6d0a * tests/python/dca.test: Fix location of temporary. 2017-11-23 13:40:05 +01:00
Alexandre Duret-Lutz
5504e2255a do not run optipng anymore
* doc/Makefile.am (dist-hook): Remove.
* HACKING: Adjust.
2017-11-23 13:40:05 +01:00
Alexandre Duret-Lutz
974a4238f6 introduce formula::is_leaf()
Fixes #307.

* spot/tl/formula.hh: Here.
* tests/python/ltlparse.py: Test it.
* NEWS: Mention it.
2017-11-23 13:40:05 +01:00
Alexandre Duret-Lutz
246b5d8fed doc: implement --enable-doxygen and do not distribute the doc
Fixes #299.

* configure.ac, doc/Makefile.am: Adjust.
* NEWS, HACKING, README: Document the change.
* doc/dot.in: Delete, not used anymore.
* doc/Doxyfile.in: Adjust to not look for dot.
* debian/rules: Use --enable-doxygen.
2017-11-22 16:06:04 +01:00
Alexandre Duret-Lutz
cec522d56b fix usage pf importlib.util.find_spec for newer pythons
* tests/python/ipnbdoctest.py: Here.  It seems importlib
does not load importlib.util anymore.
2017-11-22 16:06:03 +01:00
Alexandre Duret-Lutz
cc00898514 fix python/dca.test for VPATH builds
* tests/python/dca.test: Do not assume the run script is in the source
directory.
2017-11-22 16:06:03 +01:00
Alexandre Duret-Lutz
61602a3bba org: convert all images to svg
Suggested in #299.

* doc/org/autfilt.org, doc/org/concepts.org, doc/org/dstar2tgba.org,
doc/org/genaut.org, doc/org/hierarchy.org, doc/org/hoa.org,
doc/org/ltl2tgba.org, doc/org/ltl2tgta.org, doc/org/ltlcross.org,
doc/org/oaut.org, doc/org/randaut.org, doc/org/satmin.org,
doc/org/tut11.org, doc/org/tut23.org, doc/org/tut24.org,
doc/org/tut30.org, doc/org/tut31.org, doc/org/tut50.org,
doc/org/tut51.org: Adjust all dot outputs to produce svg.
* doc/org/arch.tex, doc/org/hierarchy.tex, doc/org/satmin.tex: Adjust
to produce a pdf with 12pt text.
* doc/Makefile.am: Adjust the generation of arch.svg, hierarchy.svg,
and satmin.svg: From above.
* doc/org/.dir-locals.el.in, doc/org/init.el.in: Adjust dot arguments
to produce svg with 12pt text (the default was 14pt).
* doc/org/spot.css: Use Lato as the main font for consistency with
automata.
* HACKING: pdf2svg is now required to build the doc.
2017-11-22 12:03:53 +01:00
Alexandre Duret-Lutz
454cc73670 doc: use SVG in the doxygen manual
Suggested in #299.

* doc/Doxyfile.in: Here.
2017-11-22 12:03:52 +01:00
Maximilien Colange
7066fe29e5 Fix a typo in a test
* tests/sanity/namedprop.test: fix typo for proper output
2017-11-22 11:08:39 +01:00
Alexandre GBAGUIDI AISSE
7e0fc448c5 hierarchy: Rewrite is_recurrence(), is_persistence() and add tests
* spot/tl/hierarchy.cc: Rewrite is_recurrence(), is_persistence()
* spot/tl/hierarchy.hh: Fix typo.
* tests/core/hierarchy.test: Add tests.
2017-11-21 01:20:05 +01:00
Alexandre Duret-Lutz
d89579321f fix ASAN reports about mismatched emplace new/delete
* spot/misc/bitvect.cc, spot/misc/bitvect.hh, spot/tl/formula.cc,
spot/tl/formula.hh: Here.
* NEWS: Mention the bug.
2017-11-17 18:11:55 +01:00
Alexandre Duret-Lutz
933c4cde0c couvreur99_new: fix two memory leaks found by ASAN
This only occurs when doing the emptiness check of twa with allocated
states.

* spot/twaalgos/couvreurnew.cc: Here.
* NEWS: Mention the bug.
2017-11-17 18:11:55 +01:00
Maximilien Colange
b86cbf0514 Mark bdd_hash as noexcept
* spot/misc/bddlt.hh: do it
2017-11-17 14:31:03 +01:00
Etienne Renault
4bc68f8ab8 misc: improve previous commit (thanks to A. Duret-Lutz)
* spot/misc/game.cc: here.
2017-11-17 14:07:23 +01:00
Etienne Renault
d7fa7f4826 Fixes #304
* spot/misc/game.cc: here.
2017-11-17 08:58:05 +01:00
Alexandre Duret-Lutz
50fe34a55a introduce is_obligation(f)
This is not optimal yet because it still construct a minimal WDBA
internally, but it's better than the previous way to call
minimize_obligation() since it can avoid constructing the minimized
automaton in a few more cases.

* spot/tl/hierarchy.cc, spot/tl/hierarchy.hh: Introduce
is_obligation().
* bin/ltlfilt.cc: Wire it to --obligation.
* spot/twaalgos/minimize.cc: Implement is_wdba_realizable(),
needed by the above.
* tests/core/obligation.test: Test it.
* bin/man/spot-x.x, NEWS: Document it.
2017-11-16 07:26:34 +01:00
Alexandre GBAGUIDI AISSE
f7ee9ed18e hierarchy: Fix #303
* spot/tl/hierarchy.cc: code was actually reachable.
2017-11-16 02:14:18 +01:00
Alexandre Duret-Lutz
18b4566762 wdba_minimization: make the reverse check first
* spot/twaalgos/minimize.cc (minimize_obligation): When
needed (i.e. in the non-deterministic case), make the reverse check
before the forward check, because it does not require translating the
negated formula.
2017-11-15 15:12:26 +01:00
Alexandre Duret-Lutz
f0735d4d86 wdba_minimization: avoid translating !f when input is deterministic
* spot/twaalgos/minimize.cc (wdba_minimization): Here.
2017-11-15 15:00:41 +01:00
Alexandre Duret-Lutz
32019b6e1a wdba_minimization: skip one inclusion test on deterministic input
* spot/twaalgos/minimize.cc (wdba_minimization): Improve handling of
deterministic input by not doing the powerset/wdba_scc_is_accepting
duo, and skipping the one inclusion test.
2017-11-15 15:00:41 +01:00