Abstract Semantics For Software Security Analysis