published in Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering Journal