Typestate: A programming language concept for enhancing software reliability (1986)

by R E Strom, S Yemini
Venue:IEEE Trans. Softw. Eng