Multiprocessors are now dominant, but real multiprocessors do not provide the sequentially consistent memory that is assumed by most work on semantics and verification. Instead, t...
Susmit Sarkar, Peter Sewell, Francesco Zappa Narde...
Refactoring tools allow the programmer to pretend they are working with a richer language where the behaviour of a program is automatically preserved during restructuring. In this ...
The search for proof and the search for counterexamples (bugs) are complementary activities that need to be pursued concurrently in order to maximize the practical success rate of...
Ashutosh Gupta, Thomas A. Henzinger, Rupak Majumda...
The craft of software understanding and verification can benefit from technologies that enable evolution toward a true engineering discipline. In current practice, software develo...
The seemingly simple choice of whether to use call variance or call subsumption in a tabled evaluation deeply affects an evaluation’s properties. Most tabling implementations hav...