Thread escape analysis, which determines whether and when a variable becomes shared by multiple threads, is a foundation for many other program analyses. Most existing escape anal...
This paper presents a language in which information flow is securely controlled by a type system, yet the security class of data can vary dynamically. Information flow policies ...
Reasoning about object-oriented programs is hard, due to , dynamic binding and the need for data abstraction and framing. Reasoning about concurrent object-oriented programs is eve...
Dynamic binary translators use a two-phase approach to identify and optimize frequently executed code dynamically. In the first step (profiling phase), blocks of code are interpre...
Program errors are hard to find because of the cause-effect gap between the time when an error occurs and the time when the error becomes apparent to the programmer. Although debu...