The notion that certain procedures are atomic is a fundamental correctness property of many multithreaded software systems. A procedure is atomic if for every execution there is a...
We develop a method for matching dynamic histories of program executions of two program versions. The matches produced can be useful in many applications including software piracy...
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...
Faults that occur in production systems are the most important faults to fix, but most production systems lack the debugging facilities present in development environments. TraceB...
Andrew Ayers, Richard Schooler, Chris Metcalf, Ana...
Many aspects for runtime monitoring are history-based: they contain pieces of advice that execute conditionally, based on the observed execution history. History-based aspects are...