Interfaces, protocols, and the semi-automatic construction of software adaptors | ACM SIGPLAN Notices | DeepDyve