ACM COMPUTING SURVEYS : THE SURVEY AND TUTORIAL JOURNAL OF THE ACM