Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected interactions between concurrent threads. Much previous work has focused on det...
Atomicity is an important specification that enables programmers to understand atomic blocks of code in a multi-threaded program as if they are sequential. This significantly simp...
This paper presents a semantic space profiler for parallel functional programs. Building on previous work in sequential profiling, our tools help programmers to relate runtime res...
Daniel Spoonhower, Guy E. Blelloch, Robert Harper,...
Research on how to reason about correctness properties of software systems using model checking is advancing rapidly. Work on exnite-state models from program source code and on ab...
James C. Corbett, Matthew B. Dwyer, John Hatcliff,...
Interactive programs, such as GUIs or spreadsheets, often maintain dependency information over dynamically-created networks of objects. That is, each imperative object tracks not ...
Neel R. Krishnaswami, Lars Birkedal, Jonathan Aldr...