In program debugging, finding a failing run is only the first step; what about correcting the fault? Can we automate the second task as well as the first? The AutoFix-E tool au...
Yi Wei, Yu Pei, Carlo A. Furia, Lucas S. Silva, St...
This paper introduces a repeatable and constructive approach to the analysis of loop progress and termination conditions in imperative programs. It is applicable to all loops for ...
We present a proof calculus and method for the static verification of assertions and procedure specifications in shared-memory concurrent programs. The key idea in our approach is...
We describe a semantic type soundness result, formalized in the Coq proof assistant, for a compiler from a simple imperative language with heap-allocated data into an idealized as...
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,...