interproc_manual

interproc_manual - Interproc analyzer for recursive...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Interproc analyzer for recursive programs with numerical variables Bertrand Jeannet Contents 1 Invoking Interproc 1 2 The Simple language 2 2.1 Syntax and informal semantics . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.1 Program. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.1.2 Instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.3 Expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Formal semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1 Semantics domains. . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2 Semantics of expressions. . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.3 Semantics of programs . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3 What Interproc does for you 8 1 Invoking Interproc The executable ( interproc or interproc.opt is invoked as follows: interproc <options> <inputfile> The input file should be a valid Simple program. The options are:-debug <int> debug level, from 0 (lowest) to 4 (highest). Default is 0.-domain { box|octagon|polka|polkastrict|polkaeq|ppl|pplstrict|pplgrid|polkagrid } abstract domain to use (default: polka). All domains supported by the Apron library can be specified: box intervals octagon octagons polka,ppl topologically closed convex polyhedra polkastrict,pplstrict possibly non-closed convex polyhedra polkaeq linear equalities pplgrid linear congruences polkagrid reduced product of linear congruences and Polka convex polyhedra-depth <int> depth of recursive iterations (default 2, may only be more). See Fixpoint library documentation.-guided <bool> if true, guided analysis of Gopand and Reps (default: false). See Analyzer 1-widening <bool><int><int><int> specifies usage of widening first heuristics, delay and fre- quency of widening, and nb. of descending steps (default: false 1 1 2). See Fixpoint-analysis <(f|b)+> sequence of forward and backward analyses to perform (default f) 2 The Simple language Prorgram Sample: /* Procedure definition */ proc MC(n:int) returns (r:int) var t1:int, t2:int; begin if (n>100) then r = n-10; else t1 = n+11; t2 = MC(t1); r = MC(t2); endif; end /* Main procedure */ var a:int, b:int; begin b = MC(a); end 2.1 Syntax and informal semantics 2.1.1 Program. < program > ::= < procedure def > * definition of procedures [ var < vars decl > ; ] local variables of the main procedure begin < statement > + end body of the main procedure < procedure def > ::= proc id ( < vars decl > ) returns ( < vars decl > ) signature, with names of input and output formal param [ var < vars decl > ; ] (other) local variables begin < statement > + end body A procedure definition first declares a list of formal input parameters, then a list of formal output parameters (which are local variables that defines the tuple of returned values), then a list of local variables, and then a body. A procedure ends with its last statement.list of local variables, and then a body....
View Full Document

Page1 / 10

interproc_manual - Interproc analyzer for recursive...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online