Etienne Renault
9411dab738
lpar13: avoid leak when counterexample detected
...
* spot/mc/lpar13.hh: Here.
2020-06-10 10:07:14 +02:00
Etienne Renault
13402a63c4
bloemen_ec: avoid leak when counterexample detected
...
* spot/mc/bloemen_ec.hh: Here.
2020-06-10 10:07:14 +02:00
Etienne Renault
4cd23d1fc5
lpar13: call finalize even when empty product
...
* spot/mc/lpar13.hh: Here.
2020-06-09 16:21:11 +02:00
Etienne Renault
099387d831
mc: fixes #416
...
* spot/mc/bloemen_ec.hh: Here.
2020-06-09 16:21:11 +02:00
Etienne Renault
2a41772ff9
mc: remove old FIXME
...
* spot/mc/mc_instanciator.hh: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
1dc6ead1e0
mc: do not mix static and SPOT_API
...
* spot/mc/mc_instanciator.hh: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
e484e0c471
mc: concept-like check for mc_algorithms
...
* spot/mc/mc_instanciator.hh: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
227627c739
mc: correct SPOT_API
...
* spot/mc/mc.hh: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
bdb95dcde9
mc: keep information about the finisher
...
* spot/mc/bloemen.hh,
spot/mc/bloemen_ec.hh,
spot/mc/cndfs.hh,
spot/mc/deadlock.hh,
spot/mc/lpar13.hh,
spot/mc/mc.hh,
spot/mc/mc_instanciator.hh: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
a3df930a60
mc: please include.test
...
* spot/mc/bloemen.hh,
spot/mc/bloemen_ec.hh,
spot/mc/deadlock.hh,
spot/mc/lpar13.hh,
spot/mc/mc.hh: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
17579ad9ad
mc: rework and test conversion into twa
...
* spot/mc/Makefile.am,
spot/mc/reachability.hh,
spot/mc/utils.hh,
tests/Makefile.am,
tests/ltsmin/.gitignore,
tests/ltsmin/testconvert.cc,
tests/ltsmin/testconvert.test: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
568fcdfc9a
mc: rework product_to_twa
...
* spot/mc/utils.hh: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
369a8b8b14
mc: merge deadlock and reachabilty algorithms
...
* spot/mc/deadlock.hh,
spot/mc/mc.hh,
spot/mc/mc_instanciator.hh,
tests/ltsmin/modelcheck.cc: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
c19163cced
cube: rename get_ap into ap
...
* spot/kripke/kripke.hh,
spot/ltsmin/spins_kripke.hh,
spot/ltsmin/spins_kripke.hxx,
spot/mc/mc_instanciator.hh,
spot/mc/utils.hh,
spot/twacube/twacube.cc,
spot/twacube/twacube.hh,
spot/twacube_algos/convert.cc,
tests/core/twacube.cc,
tests/ltsmin/modelcheck.cc: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
2d59a5c752
mc: clarify method name
...
* spot/mc/bloemen.hh,
spot/mc/bloemen_ec.hh,
spot/mc/cndfs.hh,
spot/mc/deadlock.hh,
spot/mc/lpar13.hh,
spot/mc/mc_instanciator.hh: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
ee01fdf209
mc: rename ec_renault13lpar into lpar13
...
* spot/mc/ec.hh: Rename to ...
* spot/mc/lpar13.hh: ... this.
* spot/mc/Makefile.am,
spot/mc/mc_instanciator.hh,
tests/ltsmin/modelcheck.cc: Here
2020-06-03 12:22:41 +02:00
Etienne Renault
5bb29d646b
mc: refactor parallel algorithms
...
* spot/mc/Makefile.am,
spot/mc/bloemen.hh,
spot/mc/bloemen_ec.hh,
spot/mc/cndfs.hh,
spot/mc/deadlock.hh,
spot/mc/ec.hh,
spot/mc/intersect.hh,
spot/mc/mc.hh,
spot/mc/mc_instanciator.hh,
spot/mc/utils.hh,
tests/ltsmin/modelcheck.cc: Here.
2020-06-03 12:22:41 +02:00
Etienne Renault
53ea1131e6
Fixup: missing dependency bloemen
...
* spot/mc/Makefile.am: here.
2020-06-03 12:22:41 +02:00
Etienne Renault
f8448fad89
kripkecube: modernize is_a_kripkecube_ptr
...
* spot/kripke/kripke.hh,
spot/ltsmin/spins_kripke.hh,
spot/mc/bloemen.hh,
spot/mc/bloemen_ec.hh,
spot/mc/cndfs.hh,
spot/mc/deadlock.hh,
spot/mc/intersect.hh,
spot/mc/reachability.hh,
tests/ltsmin/modelcheck.cc: Here.
2020-06-03 12:22:40 +02:00
276892229c
mc: implement CNDFS
...
* spot/mc/Makefile.am: add cndfs.hh
* spot/mc/cndfs.hh, spot/mc/mc.hh: implementation here
* tests/ltsmin/check.test: test CNDFS
* tests/ltsmin/modelcheck.cc: add CNDFS option
2020-06-03 12:22:40 +02:00
298e6f2b47
mc: bloemen emptiness check
...
* spot/mc/bloemen_ec.hh,
spot/mc/mc.hh,
tests/ltsmin/check.test,
tests/ltsmin/modelcheck.cc: here.
2020-06-03 12:22:40 +02:00
Etienne Renault
2b9471b9a7
please gcc snapshot
...
* spot/bricks/brick-assert,
spot/bricks/brick-bitlevel,
spot/bricks/brick-shmem,
spot/bricks/brick-types,
spot/mc/bloemen.hh,
spot/mc/ec.hh,
spot/mc/intersect.hh,
tests/core/bricks.cc: Here.
2020-06-03 12:22:40 +02:00
Etienne Renault
ec5e42a8ef
mc: fix deadlock according to new bricks
...
* spot/mc/deadlock.hh: Here.
2020-06-03 12:22:40 +02:00
Etienne Renault
01cceef29a
bricks: move into spot directory
...
* bricks/brick-assert, bricks/brick-bitlevel,
bricks/brick-hash, bricks/brick-hashset,
bricks/brick-shmem, bricks/brick-types: Rename as .. .
* spot/bricks/brick-assert, spot/bricks/brick-bitlevel,
spot/bricks/brick-hash, spot/bricks/brick-hashset,
spot/bricks/brick-shmem, spot/bricks/brick-types: ... this
* Makefile.am, README, debian/copyright,
debian/libspot-dev.install, m4/bricks.m4,
spot/Makefile.am, spot/ltsmin/spins_kripke.hh,
spot/ltsmin/spins_kripke.hxx, spot/mc/bloemen.hh
spot/mc/deadlock.hh, tests/Makefile.am,
tests/core/bricks.cc: here.
2020-06-03 12:22:40 +02:00
Etienne Renault
4871635159
bloemen: fix memory leaks
...
* spot/mc/bloemen.hh, spot/mc/mc.hh: here.
2020-06-03 12:22:40 +02:00
Etienne Renault
2dd2d44907
deadlock: fix memory leak
...
Do not forget to recycle iterator, otherwise the todo
stack will be trashed without cleaning iterators.
* spot/mc/deadlock.hh: Here.
2020-06-03 12:22:40 +02:00
Etienne Renault
23edf52dd5
fixpool: propose alternative policy
...
In 3fe74f1c , fixed_size_pool was changed in order to
help memcheck to detect "potential" memory leaks. In a
multithreaded context, this could raise false alarm. To
solve this, we proprose 2 policies for the pool, one with
the check and one without.
* spot/misc/fixpool.cc: deleted ...
* spot/ltsmin/ltsmin.cc, spot/ltsmin/spins_kripke.hh,
spot/mc/deadlock.hh, spot/misc/Makefile.am,
spot/misc/fixpool.cc, spot/misc/fixpool.hh,
spot/priv/allocator.hh, spot/ta/tgtaproduct.cc,
spot/ta/tgtaproduct.hh, spot/twa/twaproduct.cc,
spot/twa/twaproduct.hh, tests/core/mempool.cc: Here.
2020-06-03 12:22:26 +02:00
Etienne Renault
5d30286dd6
twacube: 'mark_t' is deprecated
...
* spot/mc/ec.hh, spot/mc/intersect.hh,
tests/core/twacube.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
73ccf2216d
bloemen: avoid tail-recursive calls
...
* spot/mc/bloemen.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
ae101a509f
bloemen: PPOPP'16 is buggy
...
In PPOPP'16, the algorithm does not unlock
roots. This could lead to deadlock between
threads.
* spot/mc/bloemen.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
2bd08d956a
mc: please Werror=noexcept
...
* spot/mc/intersect.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
011115cb1d
tests: include missing config.h
...
* spot/mc/unionfind.cc,
spot/twacube/cube.cc,
spot/twacube/twacube.cc,
spot/twacube_algos/convert.cc,
tests/core/bricks.cc,
tests/core/cube.cc,
tests/core/twacube.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
f777e96890
mc: recycle iterators in bloemen
...
* spot/mc/bloemen.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
63a4b4085a
mc: bloemen count unique states
...
* spot/mc/bloemen.hh, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
0b917af762
mc: please sanity.test
...
* spot/mc/bloemen.hh, spot/mc/mc.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
e6e3b568ca
mc: parallel version of bloemen
...
* spot/mc/bloemen.hh,
tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
01093f992e
mc: sequential version of Bloemen
...
* spot/mc/Makefile.am, spot/mc/bloemen.hh,
spot/mc/mc.hh, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
15e72e90cc
mc: add swarmed deadlock-detection
...
* spot/mc/Makefile.am, spot/mc/deadlock.hh,
spot/mc/mc.hh, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
f486dab241
ltsmin: move modelchek in mc directory
...
* spot/ltsmin/ltsmin.cc, spot/ltsmin/ltsmin.hh,
spot/mc/Makefile.am, tests/ltsmin/modelcheck.cc,
spot/mc/mc.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
fbf9d98e15
Fix typo
...
* spot/mc/ec.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
03ff789324
mark_t::operator bool() is now explicit
...
Follows up cf5d2c2b .
* spot/mc/ec.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
bb9fa4e910
bricks: update and move to c++14
...
* Makefile.am, bricks/brick-assert,
bricks/brick-assert.h, spot/ltsmin/ltsmin.cc,
spot/mc/ec.hh: here.
* bricks/brick-bitlevel.h, bricks/brick-hash.h,
bricks/brick-hashset.h, bricks/brick-shmem.h,
bricks/brick-types.h: Rename as ...
* bricks/brick-bitlevel, bricks/brick-hash,
bricks/brick-hashset, bricks/brick-shmem,
bricks/brick-types: ... these
2020-06-03 10:33:53 +02:00
Etienne Renault
9208726d97
reachability: improve support for callbacks
...
* spot/mc/reachability.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
72948661e9
swarming: add support everywhere
...
Swarming implies that a single instance of the kripke
structure (or product) will be explored by diffrent threads
with their own exploration order. Most of the modification
aims to have a thread safe kripke structure.
* spot/kripke/kripke.hh, spot/ltsmin/ltsmin.cc,
spot/ltsmin/ltsmin.hh, spot/mc/ec.hh,
spot/mc/intersect.hh, spot/mc/reachability.hh,
spot/misc/hash.hh, spot/twacube/twacube.hh,
tests/core/twacube.test, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
fb4ef40d11
Use SPOT_ASSERT() instead of assert() in public headers
...
* spot/mc/ec.hh, spot/mc/intersect.hh,
spot/mc/reachability.hh, spot/mc/utils.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
765bb8a7c4
Promote use of shared_ptr
...
* spot/kripke/kripke.hh, spot/ltsmin/ltsmin.cc,
spot/ltsmin/ltsmin.hh, spot/mc/ec.hh, spot/mc/intersect.hh,
spot/mc/utils.hh, spot/twacube/Makefile.am,
spot/twacube/fwd.hh, spot/twacube/twacube.hh,
spot/twacube_algos/convert.cc, spot/twacube_algos/convert.hh,
tests/core/twacube.cc, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
94f7c58f44
intersect: statistic provided using an object
...
* spot/mc/ec.hh, spot/mc/intersect.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
f04074bd6d
sanity: replace tabulars by spaces
...
* spot/ltsmin/ltsmin.cc,
spot/mc/ec.hh, spot/mc/intersect.hh,
spot/mc/reachability.hh, spot/mc/unionfind.cc,
spot/mc/utils.hh, spot/twacube/cube.cc,
spot/twacube/twacube.cc,
spot/twacube/twacube.hh,
spot/twacube_algos/convert.cc,
spot/twacube_algos/convert.hh,
tests/core/bricks.cc,
tests/core/cube.cc,
tests/core/twacube.cc,
tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
8e593611f6
convert: kripke and product towards twa
...
* spot/mc/Makefile.am, spot/mc/utils.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
3bafe693ef
ec: Renault et al LPAR'13 emptiness check
...
In order to reuse the computation of the
intersection between kripke and twa efficiently,
we use template inheritance through the
"mixin templates" technique.
* spot/Makefile.am, spot/mc/Makefile.am,
spot/mc/ec.hh, spot/mc/unionfind.cc,
spot/mc/unionfind.hh: here.
2020-06-03 10:33:53 +02:00