예제 #1
0
 public MLHoudiniCounterexampleCollector(MLHoudini container)
 {
     this.container = container;
     Reset(null);
 }
예제 #2
0
        private static PipelineOutcome RunMLHoudini(Program program, PipelineStatistics stats, ErrorReporterDelegate er, string filename)
        {
            Contract.Requires(stats != null);

            //CommandLineOptions.Clo.PrintErrorModel = 1;
            CommandLineOptions.Clo.UseProverEvaluate = true;
            CommandLineOptions.Clo.ModelViewFile = "z3model";
            CommandLineOptions.Clo.UseArrayTheory = true;
            CommandLineOptions.Clo.TypeEncodingMethod = CommandLineOptions.TypeEncoding.Monomorphic;

            // Run Abstract Houdini
            var mlice = new Houdini.MLHoudini(program, CommandLineOptions.Clo.MLHoudini, filename);
            var mliceout = mlice.ComputeSummaries();
            ProcessOutcome(mliceout.outcome, mliceout.errors, "", stats, Console.Out, CommandLineOptions.Clo.ProverKillTime, er);
            ProcessErrors(mliceout.errors, mliceout.outcome, Console.Out, er);

            return PipelineOutcome.Done;
        }