Commit graph

4062 commits

Author SHA1 Message Date
Alexandre GBAGUIDI AISSE
6ed380709d spot: Add %R, %[..]R common option.
For #189.

* NEWS: Update.
* bin/autfilt.cc: Replace stopwatch with process_timer.
* bin/dstar2tgba.cc: Replace stopwatch with process_timer.
* bin/ltl2tgba.cc: Replace stopwatch with process_timer.
* bin/ltlcross.cc: Replace stopwatch with process_timer.
* bin/ltldo.cc: Replace stopwatch with process_timer.
* bin/randaut.cc: Replace stopwatch with process_timer.
* bin/common_aoutput.hh: Implement process_timer, integrate it.
* bin/common_aoutput.cc: Integrate process_timer and implement new
print method.
* spot/misc/timer.hh: Modify timer class and timeinfo struct
i.e. add cutime (children_utime) and cstime (children_stime).
* spot/misc/timer.cc: Help code to behave as before all this.
* spot/twaalgos/dtbasat.cc: Help print_log to behave as before
all this.
* spot/twaalgos/dtwasat.cc: Help print_log to behave as before
all this.
* spot/misc/formater.hh: Add operator<< for spot::timer.
2016-11-08 18:57:50 +01:00
Alexandre Duret-Lutz
3eafbc823c debian: update build-depends for new Jupyter version
Debian unstable now has Jupyter, but since it moved away from ipython3,
the packages now have different names.

* debian/control: Here.
2016-11-06 09:59:23 +01:00
Alexandre Duret-Lutz
939e713e09 tests: update to work with Jupyter 4.2
Jupyter 4.2 just landed in Debian unstable, so we have a few failures
because of all the renamings.

* tests/python/ipnbdoctest.py: Adjust imports for Jupyter 4.2.
2016-11-05 23:14:21 +01:00
Alexandre Duret-Lutz
0b7b03c7d2 parsetl: flush the errors
This fixes an issue in the on-line translator, where error message would
not be output in the correct <div>.

* spot/parsetl/fmterror.cc (format_parse_errors): Flush the stream.
2016-11-05 22:59:02 +01:00
Alexandre Duret-Lutz
2e69e04583 from_ltlf: new LTL transformation.
Fixes #187.

* spot/tl/ltlf.cc, spot/tl/ltlf.hh: New files.
* spot/tl/Makefile.am: Add them.
* bin/ltlfilt.cc: Add a new option.
* bin/man/ltlfilt.x: Add bibliographic reference.
* tests/core/ltlfilt.test: Add more tests.
* tests/python/ltlf.py: New file.
* tests/Makefile.am: Add it.
* python/spot/impl.i: Python bindings.
* NEWS: Mention it.
2016-11-05 22:59:02 +01:00
Alexandre Duret-Lutz
fe1f754d2e * doc/tl/tl.tex: Typo. 2016-11-05 12:11:00 +01:00
Alexandre Duret-Lutz
3f64e9723f determinize: call bdd_implies less often
* spot/twaalgos/determinize.cc (safra_state::merge_redundant_states):
Test is_connected before called bdd_implies.
2016-11-01 09:29:55 +01:00
Alexandre Duret-Lutz
d919b78c89 simulation: do not purge unreachable states when recording implications
This fixes the incorrect output of tgba_determinize() reported yesterday
by Reuben Rowe.

* spot/twaalgos/simulation.cc: Do not purge unreachable states when
recording implications.
* tests/python/bugdet.py: New test case.
* tests/Makefile.am: Add it.
* THANKS: Add Reuben.
* NEWS: Mention the bug.
2016-11-01 09:29:55 +01:00
Alexandre Duret-Lutz
adc40fdcb6 ltlsmin: revert part of 630e90b9
* spot/ltsmin/ltsmin.cc (compile_model): It does need to modify its
first argument.
2016-10-30 08:13:37 +01:00
Alexandre Duret-Lutz
40ed12050b parsetl: fix crash in debug-mode
Fixes #193, reported by Etienne Renault.

* spot/parsetl/parsetl.yy: Clone printed formulas.
* tests/core/parse.test: Add test case.
* NEWS: Mention the issue.
2016-10-29 13:13:09 +02:00
Alexandre Duret-Lutz
a5fb5784f6 print: fix str_sere() and str_utf8_sere(), as found by PVS-Studio
These were not actually printing in "SERE" mode due to a copy/paste
error.  PVS-Studio seems really good at finding those.  For #192.

* spot/tl/print.cc: Fix it.
* NEWS: Mention the bug.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
24d19a6703 bitvect: do not leak on realloc failure, flagged by PVS-Studio
For #192.

* spot/misc/bitvect.hh: Here.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
288f6ead9f randomltl: fix initialization of the simplifier, caught by PVS-Studio
For #192.

* spot/tl/randomltl.cc: Here.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
c31ba658bf optionmap: remove superfluous code
This was noticed while looking at a false-positive in the report for
PVS-Studio, in #192.

* spot/misc/optionmap.cc: Do not remove the option from unused_ twice..
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
65955b44d9 rearrange some code to trigger less warning from PVS-Studio
For #192.

* spot/tl/formula.cc: Avoid calling twice the same function.
* spot/twaalgos/gtec/gtec.cc: Do not shadow a member variable.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
835b5ee1cf improve some conditions, as hinted by PVS-Studio
For #192.

* spot/twaalgos/ltl2tgba_fm.cc, spot/twaalgos/are_isomorphic.cc,
spot/taalgos/tgba2ta.cc: Here.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
40b8bab890 remove some dead code discovered while studying PVS-Studio's report
For #192.

* spot/misc/timer.hh, spot/twa/bdddict.cc, spot/twa/bdddict.hh,
spot/twaalgos/sbacc.cc: Here.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
279bfa00bd fix some implicit promotion from bool, as suggested by PVS-Studio
For #192.

* spot/parseaut/parseaut.yy, spot/parseaut/scanaut.ll,
spot/tl/randomltl.cc, spot/twa/acc.cc, spot/twaalgos/postproc.hh: Here.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
630e90b9cc ltsmin: fix constness of arguments as suggested by PVS-Studio
For #192.

* spot/ltsmin/ltsmin.cc (compile_model): Here.  As remove some unused
variable.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
26e94b774f taproduct: fix incorrect assert() flagged by PVS-Studio
For #192.

* spot/ta/taproduct.cc: Check the output of down_cast, not its input.
2016-10-29 12:37:35 +02:00
Alexandre Duret-Lutz
d0112a7b8a fix unpaired copy-ctor/op= reported by PVS-Stydio
For #192.

* bin/common_trans.cc, bin/common_trans.hh, spot/twa/acc.hh:
Add an operator= in addition to the copy constructor.
* spot/twaalgos/ltl2tgba_fm.cc: Use the default constructor.
* spot/ta/taproduct.cc, spot/ta/taproduct.hh: Delete an unused copy
constructor.
2016-10-29 12:37:21 +02:00
Alexandre Duret-Lutz
63818a3e69 [buddy] Fix several PVS-Studio warnings
For #192.

* src/bddio.c, src/cppext.cxx, src/kernel.c: Fix printf formats, calls
to new, and simplify one check in bdd_delref_nc().
2016-10-28 17:12:21 +02:00
Alexandre Duret-Lutz
41b47966b0 * README: Update description of Spot and its documentation. 2016-10-25 23:17:51 +02:00
Etienne Renault
f9991288f7 compression: fix bad encoding
Fixes #190.

* NEWS, spot/misc/intvcomp.cc: here.
2016-10-25 14:55:27 +02:00
Alexandre Duret-Lutz
ce63c30c0b translate: reset the LTL simplifier on set_level().
Fix an issue reported by Tomáš Babiak, who noticed that he could not
manage to have ltl2tgba process `genltl --go-theta=N` efficiently for
larger values of N.

* spot/twaalgos/translate.hh (set_level): Reset any owned LTL simplifier
whenever the optimization level is changed.
* NEWS: Mention the bug.
2016-10-25 13:53:28 +02:00
Alexandre Duret-Lutz
4be7065b81 simulation: speedup on deterministic automata
* spot/twaalgos/simulation.cc: Detect deterministic automata, and skip
the partial-order update.
* NEWS: Mention the speedup.
2016-10-23 19:55:48 +02:00
Alexandre Duret-Lutz
6ca555ed89 determinize: improve the storage of implications
* spot/twaalgos/determinize.cc: Store implications
in a vector, not a map.
* spot/twaalgos/simulation.cc, spot/twaalgos/simulation.hh: Adjust.
2016-10-21 14:26:49 +02:00
Alexandre Duret-Lutz
7ea9454614 * spot/misc/bitvect.hh (is_subset_of): Fix implementation. 2016-10-20 21:00:27 +02:00
Alexandre Duret-Lutz
a32ccd649d [buddy] slight optimization of bdd_implies
* src/bddop.c: Avoid the first recursion when it is obvious that the
second will fail.
2016-10-20 20:59:28 +02:00
Alexandre Duret-Lutz
41866b370c * spot/twaalgos/simulation.cc: Simplify some part. 2016-10-20 09:37:28 +02:00
Alexandre Duret-Lutz
57a055b656 [buddy] typo in comment
* src/bddop.c (bdd_implies): Fix documentation.
2016-10-20 09:37:24 +02:00
Alexandre Duret-Lutz
56f768f5a6 remove_fin: improve behavior on unclean acceptance
Related to #188.  This is a third fix that independently
makes `'utfilt --is-unambiguous -q smaller.hoa' instantaneous.

* spot/twaalgos/remfin.cc: Clean the received automaton if
necessary.
* bin/autfilt.cc: No need to call cleanup_acceptance_here() before
remove_fin() anymore.
* tests/core/remfin.test: Add an additional test.
* NEWS: Mention the change.
2016-10-19 11:00:15 +02:00
Alexandre Duret-Lutz
3dc084c4f6 use mask_keep_accessible_states
* bin/autfilt.cc, spot/twaalgos/isweakscc.cc, spot/twaalgos/remfin.cc,
spot/twaalgos/sccinfo.cc: Use mask_keep_accessible_states instead of
mask_keep_states.
2016-10-19 10:51:38 +02:00
Alexandre Duret-Lutz
4c1147e497 [buddy] speedup bdd_init and bdd_noderesize
* src/kernel.c: The initialization code of the BDD cache was
awfully slow due to multiple references to global variables.
2016-10-19 10:51:38 +02:00
Alexandre Duret-Lutz
ad478bd31a sccinfo: improve detection of rejecting 1-self-loop SCCs
As observed in #188, the smaller.hoa automaton is made only of
1-state/1-self-loop SCCs, for which calling remove_fin is a complete
waste of time.  This patch alone (i.e., without the other changes
suggested by #188) improves the run time of

% autofilt -q --is-unambiguous smaller.hoa

from 38s to 0.05s.

* spot/twaalgos/sccinfo.cc: If a single-state SCC has undeterminate SCC
and only one self-loop, then it is necessarily rejecting.
* NEWS: Mention the change.
2016-10-19 10:51:38 +02:00
Alexandre Duret-Lutz
5384a3b89a is_unambiguous: rewrite more efficiently
Avoid calling scc_info::determine_unknown_acceptance on the product, as
suggested in #188.

* spot/twaalgos/isunamb.cc (is_unambiguous): Rewrite.
* tests/core/unambig.test: Add the automaton from #188.
* NEWS: Mention the improved function.
* spot/twaalgos/mask.cc,
spot/twaalgos/mask.hh (mask_keep_accessible_states): New function.
2016-10-19 10:51:38 +02:00
Alexandre Duret-Lutz
9b3451c52e * NEWS: Typo, reported by Alexandre Gbaguidi Aïsse. 2016-10-17 11:43:19 +02:00
Alexandre Duret-Lutz
de665ce28f * configure.ac, NEWS: Bump version to 2.1.2.dev. 2016-10-14 17:30:07 +02:00
Alexandre Duret-Lutz
b0c60e799a Release Spot 2.1.2
* NEWS, configure.ac, doc/org/setup.org: Bump version.
2016-10-14 17:18:23 +02:00
Alexandre Duret-Lutz
497710ecc2 dtgbasat: rename all.log into all.csv
In order to match the tarballs of the FORTE'14 paper.

* bench/dtgbasat/stats.sh, bench/dtgbasat/README: Here.
2016-10-14 16:05:35 +02:00
Alexandre Duret-Lutz
70fa739fd1 dot: improve option initialization
* spot/twaalgos/dot.cc: Rearrange options to speed up their
initialization and avoid an "uninitialized read" error from valgrind
when compiling with clang-3.9.  The uninitialized read is still a bit
misterious to me; valgrind was complaining about opt_shape_ who is
actually initialized in the code.  However looking into the assembly
code generated revealed that all consecutive 0/false values were
initialized together, so this patch reorganize the options to encourage
that.  Also the palette was copied over for each call to print_dot(), so
this is now declared statically.
2016-10-14 14:05:23 +02:00
Alexandre Duret-Lutz
48655c6875 complete Alexandre's patch
* bench/dtgbasat/formulas: Typo.
* NEWS: Mention the fix.
* AUTHORS: Add Alexandre.
2016-10-13 15:55:25 +02:00
Alexandre GBAGUIDI AISSE
ba4345a42b dtgbasat: Fix dtgbasat bench errors
* bench/dtgbasat/formulas: Fix bin's path.
* bench/dtgbasat/prepare.sh: Fix bin's path & ltl2tgba@-sD option.
* bench/dtgbasat/stats.sh: Fix bin's path.
* bench/dtgbasat/stat.sh: Fix bin's path, ltl2tgba@-sD option
2016-10-13 15:51:21 +02:00
Alexandre Duret-Lutz
3b5fa22a3b ltlcross: add option --strength and --ambiguous
Suggested by František Blahoudek.

* bin/ltlcross.cc: Implement the two options.
* doc/org/ltlcross.org, NEWS: Document them.
* tests/core/complementation.test: Adjust test case.
* tests/core/ltlcross3.test, tests/core/unambig.test: More tests.
2016-10-13 15:41:49 +02:00
Alexandre Duret-Lutz
cc1191cd66 ltlcross: fix --verbose --no-check crash
Report from František Blahoudek.

* bin/ltlcross.cc: Do not display stats for automata
that do not exist.
* tests/core/ltlcross3.test: Test it.
* NEWS: Mention the fix.
2016-10-13 13:53:42 +02:00
Alexandre Duret-Lutz
ad502eb324 * doc/org/citing.org: Update references. 2016-10-13 12:04:54 +02:00
Alexandre Duret-Lutz
062643cc88 * doc/org/tut51.org: Typos. 2016-10-12 10:53:03 +02:00
Etienne Renault
8a8fcf2ac1 spot.ltsmin: fix errors on Darwin
* NEWS, python/spot/ltsmin.i: here.
2016-10-10 20:11:40 +02:00
Alexandre Duret-Lutz
a2575e0d3e org: really hide the plantuml logo
Fix a5d6aa2.

* doc/org/.dir-locals.el.in, doc/org/init.el.in: Use
-Djava.awt.headless=true, not -Djava.awt.headless.
2016-10-10 15:40:19 +02:00
Alexandre Duret-Lutz
ed45be98ea * spot/misc/common.hh (SPOT_FALLTHROUGH): Work around Clang 3.5. 2016-10-10 14:39:44 +02:00