The definition of a data structure may permit many different concrete representations of the same logical content. A (client) program that accepts such a data structure as input i...
Aditya Kanade, Rajeev Alur, Sriram K. Rajamani, Ga...
As computer systems continue to become more powerful and comdo programs. High-level abstractions introduced to deal with complexity in large programs, while simplifying human reas...
Kevin J. Hoffman, Patrick Eugster, Suresh Jagannat...
The ideal software contract fully specifies the behavior of an operation. Often, in particular in the context of scripting languages, a full specification may be cumbersome to s...
Phillip Heidegger, Annette Bieniusa, Peter Thieman...
Animated pedagogical agents offer promise as a means of making computer-aided learning more engaging and effective. To achieve this, an agent must be able to interact with the lea...
W. Lewis Johnson, Erin Shaw, Andrew Marshall, Cath...
Software pipelining is a loop optimization that overlaps the execution of several iterations of a loop to expose more instruction-level parallelism. It can result in first-class p...