We address the problem of reasoning about Haskell programs that use Software Transactional Memory (STM). As a motivating example, we consider Haskell code for a concurrent non-det...
Most computer science educators hold strong opinions about the “right” approach to teaching introductory level programming. Unfortunately, we have comparatively little hard ev...
Jaime Spacco, Jaymie Strecker, David Hovemeyer, Wi...
One of the central problems in building broad-coverage story understanding systems is generating expectations about event sequences, i.e. predicting what happens next given some a...
Reasoning about capabilities in multi-agent systems is crucial for many applications. There are two aspects of reasoning about the capabilities of an agent to achieve its goals. O...
Reasoning about program equivalence is one of the oldest problems in semantics. In recent years, useful techniques have been developed, based on bisimulations and logical relation...