コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BasicReductionStrategy"/> class.
 /// </summary>
 public BasicReductionStrategy(
     ISchedulingStrategy childStrategy,
     ReductionStrategy reductionStrategy,
     int stepLimit = 0)
 {
     this.ChildStrategy              = childStrategy;
     this.Reduction                  = reductionStrategy;
     this.ScheduledSteps             = 0;
     this.StepLimit                  = stepLimit;
     this.ReportActualScheduledSteps = this.StepLimit != 0;
 }
コード例 #2
0
 /// <summary>
 /// Creates a reduction strategy that reduces the choice-space for a child strategy.
 /// </summary>
 /// <param name="childStrategy">Child strategy.</param>
 /// <param name="reductionStrategy">The reduction strategy used.</param>
 /// <param name="stepLimit">The step limit.</param>
 public BasicReductionStrategy(
     ISchedulingStrategy childStrategy,
     ReductionStrategy reductionStrategy,
     int stepLimit = 0)
 {
     ChildStrategy              = childStrategy;
     Reduction                  = reductionStrategy;
     ScheduledSteps             = 0;
     StepLimit                  = stepLimit;
     ReportActualScheduledSteps = StepLimit != 0;
 }
コード例 #3
0
        /// <summary>
        /// Constructor.
        /// </summary>
        protected Configuration()
        {
            this.SolutionFilePath = string.Empty;
            this.OutputFilePath   = string.Empty;
            this.ProjectName      = string.Empty;

            this.Timeout = 0;

            this.CompilationTarget  = CompilationTarget.Execution;
            this.OptimizationTarget = OptimizationTarget.Release;

            this.CustomCompilerPassAssemblyPaths = new HashSet <string>();

            this.AnalyzeDataFlow             = false;
            this.AnalyzeDataRaces            = false;
            this.DoStateTransitionAnalysis   = false;
            this.ShowControlFlowInformation  = false;
            this.ShowDataFlowInformation     = false;
            this.ShowFullDataFlowInformation = false;
            this.RewriteCSharpVersion        = new Version();

            this.RuntimeGeneration = 0;

            this.AssemblyToBeAnalyzed   = string.Empty;
            this.TestingRuntimeAssembly = string.Empty;
            this.TestMethodName         = string.Empty;

            this.SchedulingStrategy        = SchedulingStrategy.Random;
            this.ReductionStrategy         = ReductionStrategy.None;
            this.SchedulingIterations      = 1;
            this.RandomSchedulingSeed      = null;
            this.IncrementalSchedulingSeed = false;

            this.PerformFullExploration   = false;
            this.MaxFairSchedulingSteps   = 0;
            this.MaxUnfairSchedulingSteps = 0;
            this.UserExplicitlySetMaxFairSchedulingSteps = false;
            this.ParallelBugFindingTasks     = 1;
            this.RunAsParallelBugFindingTask = false;
            this.TestingSchedulerEndPoint    = Guid.NewGuid().ToString();
            this.TestingSchedulerProcessId   = -1;
            this.TestingProcessId            = 0;
            this.ConsiderDepthBoundHitAsBug  = false;
            this.PrioritySwitchBound         = 0;
            this.DelayBound        = 0;
            this.CoinFlipBound     = 0;
            this.SafetyPrefixBound = 0;

            this.EnableLivenessChecking        = true;
            this.LivenessTemperatureThreshold  = 0;
            this.EnableCycleDetection          = false;
            this.EnableUserDefinedStateHashing = false;
            this.EnableMonitorsInProduction    = false;
            this.EnableNoApiCallAfterTransitionStmtAssertion = true;

            this.AttachDebugger = false;

            this.ScheduleFile  = string.Empty;
            this.ScheduleTrace = string.Empty;

            this.EnableDataRaceDetection = false;

            this.ReportCodeCoverage     = false;
            this.ReportActivityCoverage = false;
            this.DebugActivityCoverage  = false;

            this.ContainerId               = 0;
            this.NumberOfContainers        = 1;
            this.RemoteApplicationFilePath = string.Empty;

            this.Verbose            = 1;
            this.ShowWarnings       = false;
            this.EnableDebugging    = false;
            this.EnableProfiling    = false;
            this.KeepTemporaryFiles = false;

            this.EnableColoredConsoleOutput = false;
            this.ThrowInternalExceptions    = false;
            this.DisableEnvironmentExit     = true;
        }