Static specification mining using automata-based abstractions
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints