- 21 Jan, 2010 2 commits
-
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/gtec/ce.cc (couvreur99_check_result::acss_states): Delete the iterator after using it. * src/tgbatest/emptchkr.test: Run 'randtgba -z' with valgrind too.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/gv04.cc (push): Fix the tracking of the accepting link. This bug was discovered on a random generated graph with a complex accepting cycle. * src/tgbatest/emptchk.test: Add the troublesome graph as test case.
-
- 20 Jan, 2010 3 commits
-
-
Damien Lefortier authored
before doing ++i to avoid memory issues. * src/tgba/taatgba.cc, src/tgba/taatgba.hh, src/tgba/tgbaexplicit.cc, src/tgba/tgbaexplicit.hh: Fix them.
-
Damien Lefortier authored
* src/ltlast/automatop.cc, src/ltlast/automatop.hh: Rename nfa as get_nfa to avoid a name clash with the `nfa' class. * src/ltlvisit/clone.cc, src/ltlvisit/nenoform.cc, src/ltlvisit/tostring.cc, src/tgbaalgos/eltl2tgba_lacim.cc: Use get_nfa instead of nfa. * src/tgba/tgbasafracomplement.cc: Don't use a const_reverse_iterator.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/randomgraph.cc (random_graph): Revert the part of the patch from 2007-02-06 which silently replaced the use of state index by state pointers. Storing states pointer in this map cause some non-determinism because of the memory layout. It was almost impossible to reproduce bugs found by tests based on randtgba.
-
- 19 Jan, 2010 1 commit
-
-
Damien Lefortier authored
-
- 18 Jan, 2010 1 commit
-
-
Damien Lefortier authored
occuring when labels are pointers. * src/tgbaalgos/ltl2taa.cc: Fix a bug. * src/tgbatest/ltl2tgba.cc: Fix a bug.
-
- 17 Jan, 2010 3 commits
-
-
Guillaume Sadegh authored
-
Guillaume Sadegh authored
* src/translate.cc: exit(2) requires cstdlib.
-
Damien Lefortier authored
speed up a little the translation. * src/tgbaalgos/ltl2taa.cc: Adjust. Also fix a bug with acceptance conditions in all_n_tuples. * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Adjust.
-
- 16 Jan, 2010 1 commit
-
-
Damien Lefortier authored
taa_tgba instances labelled by other objects than strings in the same way Alexandre did for tgba_explicit. * src/tgba/taatgba.cc, src/tgba/taatgba.hh: Split taa_tgba in two levels: taa_tgba with no label and taa_tgba_labelled templated by the type of the label. Define taa_tgba_string (with the interface of the former taa_tgba class) and taa_tgba_formula for future use in ltl2taa.cc. * src/tgbaalgos/ltl2taa.cc, src/tgbatest/taatgba.cc: Adjust to use taa_tgba_string.
-
- 06 Jan, 2010 1 commit
-
-
Damien Lefortier authored
* src/eltlparse/eltlscan.ll: Fix a typo.
-
- 05 Jan, 2010 1 commit
-
-
Damien Lefortier authored
* src/tgbatest/eltl2tgba.cc: Remove. * src/tgbatest/Makefile.am: Adjust. * src/tgbatest/ltl2tgba.cc: New option: -xltl to translate an extended LTL instead of an LTL, a feature previously offered by eltl2tgba.cc. Also: -R3b to use delete_unaccepting_scc. * src/tgbatest/spotlbtt.test: Adjust.
-
- 18 Dec, 2009 1 commit
-
-
Damien Lefortier authored
* src/tgbatest/spotlbtt.test: Use the above function with LaCIM for ELTL which greatly reduce the size of the automata!
-
- 11 Dec, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
-
- 09 Dec, 2009 2 commits
-
-
Alexandre Duret-Lutz authored
by previous patch.
-
Alexandre Duret-Lutz authored
Inline bdd_addref() and bdd_delref() to speedup BDD operations. * src/kernel.c, src/kernel.h (bdd_addref, bdd_delref): Move these functions and there associated global variables... * src/bdd.c (bdd_error): ... and this function ... * src/bdd.h (bdd_addref, bdd_delref, bdd_error): ...here so that they can be inlined.
-
- 30 Nov, 2009 2 commits
-
-
Guillaume Sadegh authored
* src/saba/sabacomplementtgba.hh, src/saba/sabacomplementtgba.cc: New. The algorithm. * src/saba/Makefile.am: Adjust. * src/sabatest/sabacomplementtgba.cc, src/sabatest/Makefile.am, src/sabatest/defs.in: New. Test the algorithm. * configure.ac, src/Makefile.am: Adjust to the new directory `sabatest'.
-
Guillaume Sadegh authored
Automata (SABA). * src/saba/saba.hh, src/saba/saba.cc, src/saba/sabastate.hh, src/saba/sabasucciter.hh: New. Interface for SABA (State-labeled Alternating Büchi Automata). * src/saba/explicitstateconjunction.cc, src/saba/explicitstateconjunction.hh: New. Default implementation for a conjunction of states. * src/saba/Makefile.am: New. * src/Makefile.am, configure.ac: Adjust. * src/sabaalgos/sabareachiter.cc, src/sabaalgos/sabareachiter.hh: New. Iterate over all reachable states of a spot::saba. * src/sabaalgos/sabadotty.cc, src/sabaalgos/sabadotty.hh: New. Print reachable states in dot format. * src/sabaalgos/Makefile.am: New.
-
- 27 Nov, 2009 1 commit
-
-
Guillaume Sadegh authored
* src/tgba/taa.cc, src/tgba/taa.hh: Rename as ... * src/tgba/taatgba.cc, src/tgba/taatgba.hh: ... these, and rename the class taa as taa_tgba. * src/tgbaalgos/ltl2taa.cc, src/tgbaalgos/ltl2taa.hh, src/tgbaalgos/Makefile.am: Adjust. * src/tgbatest/ltl2tgba.cc, src/tgbatest/Makefile.am: Adjust. * src/tgbatest/taa.test: Rename as ... * src/tgbatest/taatgba.test ... this. * src/tgbatest/taa.cc: Rename as ... * src/tgbatest/taatgba.cc ... this, and adjust.
-
- 26 Nov, 2009 3 commits
-
-
Alexandre Duret-Lutz authored
reductions by simulation.
-
Alexandre Duret-Lutz authored
latest function added to BuDDy.
-
Alexandre Duret-Lutz authored
Fix generation of random formulae on 64bits systems. * src/main.cc (testLoop): Generate random short ints between 0 and SHRT_MAX, not between 0 and LONG_MAX. On systems where long ints are 64bits, LRAND(0,LONG_MAX) was returning a value with the lower 32 bits set to 0, and the latter truncation to short int always yielded the value 0. Consequently all generated formulae were identical...
-
- 25 Nov, 2009 2 commits
-
-
Alexandre Duret-Lutz authored
* src/Configuration.cc (registerAlgorithm): Do not complain about a missing path for disabled algorithms.
-
Alexandre Duret-Lutz authored
really stop it!
-
- 24 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
* src/misc/timer.hh (time_info::running): New attribute. (time_info::start, time_info::stop): Update and check time_info::running. * src/misc/timer.cc (timer_map::print): Mark running timers with a "+" in the output. * src/tgbatest/ltl2tgba.cc (main): Rename the name of the timers for SCC and simulation reduction, and actually stop the SCC timer.
-
- 23 Nov, 2009 4 commits
-
-
Alexandre Duret-Lutz authored
the same node twice when dealing with loops.
-
Alexandre Duret-Lutz authored
* src/misc/minato.cc (minato_isop::minato_isop): Call bdd_satprefix. (minato_isop::next): Avoid useless intermediate variables. * src/misc/minato.hh: Typo in comments.
-
Alexandre Duret-Lutz authored
Introduce bdd_satprefix, to speedup spot::minato(). * src/bdd.h (bdd_satprefix): New function. * src/bddop.c (bdd_satprefix, bdd_sat_prefixrec): New functions.
-
Alexandre Duret-Lutz authored
If the input is a tgba_explicit_formula we can output a tgba_explicit_formula too, and we want to do that because it is more space efficient. * src/tgba/tgbaexplicit.hh (get_label): New method. * src/tgbaalgos/sccfilter.cc (create_transition): New function, to handle tgba_explicit_formula and tgba_explicit_string output differently. (filter_iter): Template it on the output tgba type, and adjust to call create_transition. (scc_filter): Use filter_iter<tgba_explicit_formula> or filter_iter<tgba_explicit_string> depending on the input tgba type.
-
- 20 Nov, 2009 2 commits
-
-
Alexandre Duret-Lutz authored
A useless acceptance conditions is one that is always implied by another. * src/misc/bddop.hh, src/misc/bddop.cc (compute_neg_acceptance_conditions): New function. * src/tgba/tgbaexplicit.hh, src/tgba/tgbaexplicit.cc (set_acceptance_conditions): New function. * src/tgbaalgos/scc.cc (build_map, build_scc_stats, dump_scc_dot): Keep track of useful acceptance conditions. (useful_acc_of): New function. * src/tgbaalgos/scc.hh (scc_stats, scc_map::scc::useful_scc): New attributes. * src/tgbaalgos/sccfilter.cc (filter_iter): Adjust to filter useless acceptance conditions. (scc_filter): Compute useful acceptance conditions and pass them to filter_iter.
-
Alexandre Duret-Lutz authored
after removing acceptance conditions.
-
- 18 Nov, 2009 5 commits
-
-
Alexandre Duret-Lutz authored
* src/tgba/tgbareduc.cc, src/tgba/tgbareduc.hh (prune_scc, prune_acc, remove_component, compute_scc, remove_acc, is_not_accepting, delete_scc, is_terminal, remove_scc, display_scc): Remove anything related to the simplification of SCCs.
-
Alexandre Duret-Lutz authored
prune_scc() leaked memory and failed to remove chains of useless SCCs. * src/tgbaalgos/reductgba_sim.cc (reduc_tgba_sim): Call scc_filter() instead of prune_scc(), and do it before running any simulation-based reduction. * src/tgbaalgos/reductgba_sim.hh (reduc_tgba_sim): Return a const tgba*. * src/tgbatest/ltl2tgba.cc: Call scc_filter() instead of prune_scc(). * src/tgbatest/scc.test: Add two more tests that failed with prune_scc().
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/sccfilter.hh, src/tgbaalgos/sccfilter.cc: New files. * src/tgbaalgos/Makefile.am: Add them.
-
Alexandre Duret-Lutz authored
Also compute useless SCCs. * src/tgbaalgos/scc.cc (scc_map::scc::trivial): New field. (scc_stats::useless_scc_map): New field. * src/tgbaalgos/scc.cc (scc_map::build_map): Mark SCCs that are not trivial. (scc_map::accepting): Always return false for trivial SCC. (build_scc_stats): Fill in useless_scc_map.
-
Alexandre Duret-Lutz authored
* src/tgbaalgos/reachiter.hh (tgba_reachable_iterator::want_state): New method. * src/tgbaalgos/reachiter.cc (tgba_reachable_iterator::want_state): Implement it. (tgba_reachable_iterator::run): Call want_state before processing a state.
-
- 17 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
of by pointer. * src/tgbaalgos/cutscc.cc, src/tgbaalgos/cutscc.hh: Fix copyright header.
-
- 13 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
counter updated each time we create a new (unique) formula. Doing so saves a lot of memory during the translation of the ltlcounter formulae, because the formulae are quite big and storing a string representation of each formula on its node was a bad idea. For instance with n=12, the translation now uses 40MB where it used 290MB. (Note: in both cases, 20MB is being used by the BDD cache.) * src/ltlast/formula.hh (hash_key_): Rename as ... (count_): ... this. (hash): Adjust. (max_count): New static variable to count the number of formulae created. (formula): Update max_count and set count_. (dump): Make it a virtual pure method. (set_key_): Remove. (formula_ptr_less_than): Speed up and return false when the two formula pointer are equal. * src/ltlast/formula.cc (set_key_, dump): Remove. * src/ltlast/atomic_prop.cc, src/ltlast/atomic_prop.hh, src/ltlast/automatop.cc, src/ltlast/automatop.hh, src/ltlast/binop.cc, src/ltlast/binop.hh, src/ltlast/constant.cc, src/ltlast/constant.hh, src/ltlast/multop.cc, src/ltlast/multop.hh, src/ltlast/unop.cc, src/ltlast/unop.hh: Empty the constructor (do not precompute the dump_ anymore), and add a dump() implementation.
-
- 12 Nov, 2009 1 commit
-
-
Alexandre Duret-Lutz authored
* bench/ltl2tgba/algorithms: Use -l for all LaCIM invocations. * src/tgbatest/dupexp.test, src/tgbatest/emptchk.test, src/tgbatest/spotlbtt.test: Likewise.
-