1 Systematic Domain Design Some Remarks
2 Best (Conservative) interpretation abstract representation Set of states concretization Abstract semantics statement s abstract representation abstraction Operational semantics statement s Set of states
3 Galois Connections u For –A complete lattice (L 1, 1 ) = (L 1, , 1, 1, 1, 1 ) –A complete lattice (L 2, 2 ) = (, , 2, 2, 2, 2 ) – :L 1 L 2 – : L 2 L 1 u We say that (L 1, , , L 2 ) is a Galois connection – and are monotone –For all c L 1 : ( (c)) c –For all a L 2 : ( (a)) a
4 Best (Induced) Abstract Transformer u For –A Galois connection (L 1, , , L 2 ) –A function f 1 : L 1 L 1 u Define f 2 = f 1 ( , ): L 2 L 2 –f 2 (l 2 ) = (f 1 ( (l 2 ) ) u Theorem: –f 2 is monotone if f 1 is –f 2 is a sound approximation of f 1 » l 1 L 1 (f 1 (l 1 )) f 2 ( (l 1 )) » l 2 L 2 f 1 ( ( l 2 )) (f 2 (l 2 )) »For every sound approximation f’ 2 is a sound approximation of f 1 u f 2 f’ 2 u Sometimes we can actually implement the best transformer
5 Best (Induced) Abstract Transformer u But… u It may be difficult to implement u It may be very imprecise – (f 1 (l 1 )) f 2 ( (l 1 )) u Indicates inappropriate abstract domain u Sometimes it is better to pick a more expressive domain and work with suboptimal solutions