Omniscient debuggers make it possible to navigate backwards in time within a program execution trace, drastically improving the task of debugging complex applications. Still, they...
Garbage collection yields numerous software engineering benefits, but its quantitative impact on performance remains elusive. One can compare the cost of conservative garbage col...
To reason effectively about programs, it is important to have some version of a transitive-closure operator so that we can describe such notions as the set of nodes reachable from ...
Neil Immerman, Alexander Moshe Rabinovich, Thomas ...
We present views, a new approach to controlling concurrency. Fine-grained locking is often necessary to increase concurrency. Correctly implementing fine-grained locking with tod...
This paper reports on the utilisation of object technology in a university-level course on software development, specifically designed for distance learning, and now enrolling ove...
Mark Woodman, Robert Griffiths, Simon Holland, Hug...