Waye, LucasChong, StephenDimoulas, Christos2022-12-142017-08-29Waye, Lucas, Stephen Chong, Christos Dimoulas. "Whip: higher-order contracts for modern services." Proc. ACM Program. Lang. 1, no. ICFP (2017): 1-28. DOI: 10.1145/31102802475-1421https://nrs.harvard.edu/URN-3:HUL.INSTREPOS:37373840Modern service-oriented applications forgo semantically rich protocols and middleware when composing services. Instead, they embrace the loosely-coupled development and deployment of services that communicate via simple network protocols. Even though these applications do expose interfaces that are higher-order in spirit, the simplicity of the network protocols forces them to rely on brittle low-level encodings. To bridge the apparent semantic gap, programmers introduce ad-hoc and error-prone defensive code. Inspired by Design by Contract, we choose a different route to bridge this gap. We introduce Whip, a contract system for modern services. Whip (i) provides programmers with a higher-order contract language tailored to the needs of modern services; and (ii) monitors services at run time to detect services that do not live up to their advertised interfaces. Contract monitoring is local to a service. Services are treated as black boxes, allowing heterogeneous implementation languages without modification to services’ code. Thus, Whip does not disturb the loosely coupled nature of modern services.en-USSafety, Risk, Reliability and QualitySoftwareWhip: higher-order contracts for modern servicesConference Paper2018-07-2120172022-12-1410.1145/3110280