Commit Graph

1000 Commits

Author SHA1 Message Date
Michael Walker
501447a2cf Rename model types to Model* 2018-03-15 12:44:52 +00:00
Michael Walker
d902469300
Merge pull request #248 from barrucadu/183-shrinking
Trace simplification
2018-03-12 20:06:00 +00:00
Michael Walker
a80de804e8 Prepare dejafu release 2018-03-12 18:47:27 +00:00
Michael Walker
f8ce6ef85a Add a setting to make some recoverable errors fatal 2018-03-12 18:43:48 +00:00
Michael Walker
f2b55985d2 Split simplification into two passes 2018-03-11 23:15:44 +00:00
Michael Walker
19f3404d1d Correctly handle re-ordering forks and newCRefs in simplifier
Re-ordering forks will change thread IDs, and re-ordering newCRefs
will change CRef IDs (which will then change commit thread IDs when
executing under PSO).  So before we can execute a simplified trace, we
have to consistently renumber everything again.
2018-03-11 23:15:44 +00:00
Michael Walker
c6f39364d7 Use "simplify" instead of "shrink" as per Colin's suggestion
Colin rightly pointed out that what dejafu is doing here is
fundamentally different to what is normally meant by "shrinking" in
tools like QuickCheck or Hedgehog.
2018-03-11 23:15:44 +00:00
Michael Walker
dd384f01de Implement basic semantics-preserving shrinking 2018-03-11 23:15:44 +00:00
Michael Walker
86ff7a025c Add 'lshrink' SCT setting 2018-03-11 23:15:44 +00:00
Michael Walker
f182f93334 Keep only the first trace for each distinct result 2018-03-11 23:15:44 +00:00
Michael Walker
b11393b1f5 Add 'lequality' SCT setting 2018-03-11 23:15:44 +00:00
Michael Walker
9c5d83862d Build a list of SCT results 2018-03-11 23:15:44 +00:00
Michael Walker
2c407b768a DepState does not track CRef buffers under SQ 2018-03-11 23:15:44 +00:00
Michael Walker
b6bce5cec6
Merge pull request #247 from barrucadu/jenkinsfile
Remove references docs.barrucadu.co.uk
2018-03-11 23:14:44 +00:00
Michael Walker
34f6358e86 Remove mentions of docs.barrucadu.co.uk 2018-03-11 22:49:51 +00:00
Michael Walker
2628c022c0 Remove Jenkinsfile 2018-03-11 22:46:56 +00:00
Michael Walker
331d685901
Merge pull request #246 from barrucadu/199-nfdata
Use Generic NFData instances where possible, be explicit where not
2018-03-11 22:07:00 +00:00
Michael Walker
e745dd09d7 Prepare dejafu release 2018-03-11 21:31:04 +00:00
Michael Walker
52294e5ae3 Avoid catch-alls in NFData instances for ThreadAction and Lookahead
Closes #199
2018-03-11 21:24:58 +00:00
Michael Walker
8be71a431e Use DeriveAnyClass/DeriveGeneric to get free NFData instances
The generic `NFData` instances are not fully strict if you use deepseq
< 1.4, as that is when the default `rnf` implementation changed `seq`
to one based on generics.  However, 1.4 came out in 2014, so I think
it's a pretty safe bet that nobody is stuck on an older version.

If only `MaskingState` had an `NFData` instance...
2018-03-11 21:24:58 +00:00
Michael Walker
54dcb4cafd
Merge pull request #245 from barrucadu/exceptions-0.10
exceptions-0.10
2018-03-11 20:45:17 +00:00
Michael Walker
426fc4e1a1 Prepare concurrency, dejafu, hunit-dejafu releases 2018-03-11 20:19:04 +00:00
Michael Walker
a0a8652121 Bump exceptions upper bound in hunit-dejafu 2018-03-11 20:16:39 +00:00
Michael Walker
c29aaf10cb Bump exceptions upper bound in dejafu & CPP it 2018-03-11 20:06:12 +00:00
Michael Walker
cf6fa780c4 Bump exceptions upper bound in concurrency 2018-03-11 20:05:58 +00:00
Michael Walker
fad87b2261
Merge pull request #244 from barrucadu/243-setset-dep
Add missing setNumCapabilities dependency
2018-03-11 17:20:33 +00:00
Michael Walker
3e410c4a09 Prepare dejafu release 2018-03-11 16:41:39 +00:00
Michael Walker
d54ce2f9c7 Add setNumCapabilities/setNumCapabilities dep
Closes #243
2018-03-11 16:41:03 +00:00
Michael Walker
e17948bc77 Make dependency relation clearer
This more closely matches the version in my thesis, and I think is
easier to follow.
2018-03-11 16:36:52 +00:00
Michael Walker
46562067c4
Merge pull request #242 from barrucadu/fix-exceptions
Fix compilation error with exceptions-0.9.0
2018-03-08 23:44:06 +00:00
Michael Walker
21d76f5b2d Prepare dejafu release 2018-03-08 23:25:17 +00:00
Michael Walker
67400d08b5 Fix compilation error with exceptions-0.9.0 2018-03-08 22:51:20 +00:00
Michael Walker
87f9de4851
Merge pull request #240 from barrucadu/237-deprecate-swarmy
Deprecate swarmy
2018-03-07 12:40:13 +00:00
Michael Walker
d1d3f186b7 Prepare dejafu, hunit-dejafu, and tatsy-dejafu release 2018-03-06 18:57:27 +00:00
Michael Walker
9eab287b5b Deprecate swarmy 2018-03-06 18:57:27 +00:00
Michael Walker
7759890981
Merge pull request #238 from barrucadu/221-opaque-settings
(wip) Add an SCT "Settings" type
2018-03-06 17:47:54 +00:00
Michael Walker
303ee851da Update release process docs 2018-03-06 17:27:34 +00:00
Michael Walker
20178ef751 Prepare dejafu, hunit-dejafu, and tasty-dejafu release 2018-03-06 17:25:49 +00:00
Michael Walker
2037e42d65 Improve haddocks for settings 2018-03-06 17:13:19 +00:00
Michael Walker
053ce34682 Add tests for early-exit 2018-03-05 12:37:21 +00:00
Michael Walker
dccc2c7992 Use Settings throughout dejafu-tests 2018-03-04 15:00:16 +00:00
Michael Walker
89c14ff2f7 Add *WithSettings to Test.Tasty.DejaFu and deprecate *Discard 2018-03-04 12:38:51 +00:00
Michael Walker
35ebd2bdc6 Add *WithSettings to Test.HUnit.DejaFu and deprecate *Discard 2018-03-04 12:38:51 +00:00
Michael Walker
bdb1d82dae Add *WithSettings to Test.DejaFu and deprecate *Discard 2018-03-04 11:47:45 +00:00
Michael Walker
c36685b53e Make all settings other than Way and MemType optional 2018-03-04 02:56:08 +00:00
Michael Walker
4ef0138297 Deprecate Test.DejaFu.Defaults 2018-03-04 02:38:50 +00:00
Michael Walker
b05b38eaf2 Add a Test.DejaFu.Settings module 2018-03-04 02:26:58 +00:00
Michael Walker
3bdbdc1992 Deprecate SCT function variants 2018-03-04 01:22:02 +00:00
Michael Walker
20173ba2dc Make debugPrint optional 2018-03-04 00:54:33 +00:00
Michael Walker
0e0c8f22cd Add an early exit mechanism to SCT 2018-03-04 00:54:33 +00:00