We describe an approach for synthesizing data representations for concurrent programs. Our compiler takes as input a program written using concurrent relations and synthesizes a r...
Peter Hawkins, Alex Aiken, Kathleen Fisher, Martin...
Most programming languages adopt static binding, but for distributed programming an exclusive reliance on static binding is too restrictive: dynamic binding is required in various...
Gavin M. Bierman, Michael W. Hicks, Peter Sewell, ...
Abstract. We survey recent developments in an approach to the verification of higher-order computation based on game semantics. Higherorder recursion schemes are in essence (progra...
The quality of a programming language itself is only one component in the ability of application writers to get the job done. Programming languages can succeed or fail based on th...
Compilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized test-case generation tool, and spent three years using it to find compiler bug...