internal Counterexample(List <Block> trace, List <object> augmentedTrace, Model model, VC.ModelViewInfo mvInfo, ProverContext context) { Contract.Requires(trace != null); Contract.Requires(context != null); this.Trace = trace; this.AugmentedTrace = augmentedTrace; this.Model = model; this.MvInfo = mvInfo; this.Context = context; this.calleeCounterexamples = new Dictionary <TraceLocation, CalleeCounterexampleInfo>(); }
internal Counterexample(List <Block> trace, Model model, VC.ModelViewInfo mvInfo, ProverContext context) { Contract.Requires(trace != null); Contract.Requires(context != null); this.Trace = trace; this.Model = model; this.MvInfo = mvInfo; this.Context = context; this.relatedInformation = new List <string>(); this.calleeCounterexamples = new Dictionary <TraceLocation, CalleeCounterexampleInfo>(); }
public ReturnCounterexample(List <Block> trace, List <object> augmentedTrace, TransferCmd failingReturn, Ensures failingEnsures, Model model, VC.ModelViewInfo mvInfo, ProverContext context, byte[] checksum) : base(trace, augmentedTrace, model, mvInfo, context) { Contract.Requires(trace != null); Contract.Requires(context != null); Contract.Requires(failingReturn != null); Contract.Requires(failingEnsures != null); Contract.Requires(!failingEnsures.Free); this.FailingReturn = failingReturn; this.FailingEnsures = failingEnsures; this.checksum = checksum; }
internal Counterexample(List <Block> trace, List <object> augmentedTrace, Model model, VC.ModelViewInfo mvInfo, ProverContext context) { Contract.Requires(trace != null); Contract.Requires(context != null); this.Trace = trace; this.Model = model; this.MvInfo = mvInfo; this.Context = context; this.calleeCounterexamples = new Dictionary <TraceLocation, CalleeCounterexampleInfo>(); // the call to instance method GetModelValue in the following code requires the fields Model and Context to be initialized this.AugmentedTrace = augmentedTrace .Select(elem => elem is IdentifierExpr identifierExpr ? GetModelValue(identifierExpr.Decl) : elem).ToList(); }
public CallCounterexample(List <Block> trace, List <object> augmentedTrace, CallCmd failingCall, Requires failingRequires, Model model, VC.ModelViewInfo mvInfo, ProverContext context, byte[] checksum = null) : base(trace, augmentedTrace, model, mvInfo, context) { Contract.Requires(!failingRequires.Free); Contract.Requires(trace != null); Contract.Requires(context != null); Contract.Requires(failingCall != null); Contract.Requires(failingRequires != null); this.FailingCall = failingCall; this.FailingRequires = failingRequires; this.checksum = checksum; this.SugaredCmdChecksum = failingCall.Checksum; }
public AssertCounterexample(List <Block> trace, List <object> augmentedTrace, AssertCmd failingAssert, Model model, VC.ModelViewInfo mvInfo, ProverContext context) : base(trace, augmentedTrace, model, mvInfo, context) { Contract.Requires(trace != null); Contract.Requires(failingAssert != null); Contract.Requires(context != null); this.FailingAssert = failingAssert; }