2015-02-01 04:21:42 +03:00
|
|
|
-- | Systematic testing for concurrent computations.
|
2015-01-31 18:50:54 +03:00
|
|
|
module Test.DejaFu.SCT
|
2015-02-01 04:21:42 +03:00
|
|
|
( runSCT
|
2015-01-04 18:06:53 +03:00
|
|
|
, runSCT'
|
2015-02-01 04:21:42 +03:00
|
|
|
, runSCTIO
|
2015-01-04 18:06:53 +03:00
|
|
|
, runSCTIO'
|
2014-12-21 16:50:52 +03:00
|
|
|
|
2015-01-26 18:34:40 +03:00
|
|
|
-- * Schedule Bounding
|
|
|
|
-- | Schedule bounding is a means of cutting down the search space of
|
|
|
|
-- schedules, by taking advantage of some intrinsic properties of
|
|
|
|
-- schedules: such as the number of pre-emptions (pre-emption
|
|
|
|
-- bounding), or the number of deviations from a deterministic
|
|
|
|
-- scheduler (delay bounding); and then exploring all schedules
|
|
|
|
-- within the bound.
|
|
|
|
, sctBounded
|
2015-01-05 00:48:00 +03:00
|
|
|
, sctPreBound
|
2015-01-26 18:34:40 +03:00
|
|
|
, sctDelayBound
|
2015-02-01 04:21:42 +03:00
|
|
|
, sctBoundedIO
|
|
|
|
, sctPreBoundIO
|
2015-01-26 18:34:40 +03:00
|
|
|
, sctDelayBoundIO
|
2015-01-05 00:48:00 +03:00
|
|
|
|
2014-12-21 16:50:52 +03:00
|
|
|
-- * Utilities
|
2015-01-26 18:34:40 +03:00
|
|
|
, preEmpCount
|
2014-12-20 14:01:51 +03:00
|
|
|
) where
|
|
|
|
|
2015-01-31 18:50:54 +03:00
|
|
|
import Test.DejaFu.SCT.Internal
|
|
|
|
import Test.DejaFu.SCT.Bounding
|