Detecting memory leaks in managed languages with Cork
A memory leak in a managed language occurs when the program inadvertently maintains references to objects that it no longer needs. Memory leaks cause systematic heap growth that degrade performance and can result in program crashes after perhaps days or ...
Formal methods applied to high-performance computing software design: a case study of MPI one-sided communication-based locking
There is a growing need to address the complexity of verifying the numerous concurrent protocols employed in the high-performance computing software. Today's approaches for verification consist of testing detailed implementations of these protocols. ...
Loop recreation for thread-level speculation on multicore processors
Inter-iteration dependences in loops can hinder loop-level parallelism. For some loops, existing thread-level speculation techniques fail to expose their inherent loop-level parallelism, because some inter-iteration dependences are too costly to ...
A service-based runtime environment for native applications
Unlike interpreted application programs that run within the rich runtime environment of their own interpreters, natively compiled application programs are typically thought of as executing on the barebones runtime environment provided by their own ...