Presentation The context: Abstract Interpretation for Static Analysis The problematic: Too heavy for real programs Parallel algorithms Done and todo References Approximation of values: abstraction Based on mathematical notion of lattice (partially ordered sets with additional properties). Examples of abstraction for the set of integer values: Figure: Ren´ e Magritte, Le Calcul Mental. 1940. the type integer intervals sign: {. . . , −3, −2, −1, 0, 1, 2, 3, . . .} abstracted by {⊥, −, 0, +, (− and 0), (0 and +), ⊤} ⊤ (top, no information) (− and 0) (0 and +) − 0 + ⊥ (bottom, no information yet) Figure: Hasse diagram of the complete lattice of signs. Properties of a lattice are such that it contains the join of 2 elements and the succession of operation give a fixed point. An Efficient and Parallel Abstract Interpreter in Scala — Second Presentation 6 / 21