soft typing php with php - validator .
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints