Exemplo n.º 1
0
                public bool AssignInParallel(IMethodResult <Variable> mr, ref INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> astate, Dictionary <BoxedVariable <Variable>, FList <BoxedVariable <Variable> > > mapping, Converter <BoxedVariable <Variable>, BoxedExpression> convert)
                {
                    NumericalAnalysis <Options> an = mr as NumericalAnalysis <Options>;

                    if (an == null)
                    {
                        return(false);
                    }

                    astate.AssignInParallel(mapping, convert);
                    return(true);
                }
Exemplo n.º 2
0
 internal ContainerAnalysis(
     string methodName,
     IMethodDriver <APC, Local, Parameter, Method, Field, Property, Type, Attribute, Assembly, ExternalExpression, Variable, ILogOptions> mdriver,
     PartitionAnalysis partitions,
     List <Analyzers.Containers.ContainerOptions> optionsList)
     : base(methodName, mdriver, optionsList[0])
 {
     // TODO : we can imagine that the analysis used to handle indexes is choose wrt optionsList.
     //this.indexesAnalysis = new NumericalAnalysis<Options>(this.MethodName, this.MethodDriver, new List<Analyzers.Bounds.BoundsOptions>());
     this.indexesAnalysis = new NumericalAnalysis <Analyzers.Containers.ContainerOptions>(this.MethodName, this.MethodDriver, optionsList);
     this.partitions      = partitions;
     this.obligations     = new ContainersObligations(mdriver, optionsList[0]);
 }
Exemplo n.º 3
0
                public List <BoxedExpression> ExtractAssertions(
                    IMethodResult <Variable> mr,
                    INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> astate,
                    IExpressionContext <Local, Parameter, Method, Field, Type, Expression, Variable> context,
                    IDecodeMetaData <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly> metaDataDecoder)
                {
                    NumericalAnalysis <Options> an = mr as NumericalAnalysis <Options>;

                    if (an == null)
                    {
                        return(null);
                    }

                    BoxedExpressionReader <Local, Parameter, Method, Field, Property, Event, Type, Variable, Expression, Attribute, Assembly> br = new BoxedExpressionReader <Local, Parameter, Method, Field, Property, Event, Type, Variable, Expression, Attribute, Assembly>(context, metaDataDecoder);

                    return(an.ToListOfBoxedExpressions(astate, br));
                }