Java programs perform many synchronization operations on data structures. Some of these synchronizations are unnecessary; in particular, if an object is reachable only by a single ...
A number of effective error detection tools have been built in recent years to check if a program conforms to certain design rules. An important class of design rules deals with s...
Michael C. Martin, V. Benjamin Livshits, Monica S....
Program analysis has been increasingly used in software engineering tasks such as auditing programs for security vulnerabilities and finding errors in general. Such tools often re...
Monica S. Lam, John Whaley, V. Benjamin Livshits, ...
Speculative execution, such as control speculation and data speculation, is an effective way to improve program performance. Using edge/path profile information or simple heuristi...
Jin Lin, Tong Chen, Wei-Chung Hsu, Pen-Chung Yew, ...
Applications written in dynamically typed scripting languages are increasingly popular for Web software development. Even on the server side, programmers are using dynamically typ...