Detecting Prolog programming techniques using abstract interpretation. - Andrew W. Bowles (1992)