Learn More
\begin{abstract} Multithreaded programs are notoriously prone to race conditions. Prior work on dynamic race detectors includes fast but imprecise race detectors that report false alarms, as well as slow but precise race detectors that never report false alarms. The latter typically use expensive vector clock operations that require time linear in the(More)
Ensuring the correctness of multithreaded programs is difficult, due to the potential for unexpected interactions between concurrent threads. Much previous work has focused on detecting race conditions, but the absence of race conditions does not by itself prevent undesired thread interactions. We focus on the more fundamental non-interference property of(More)
This paper presents a static race detection analysis for multithreaded Java programs. Our analysis is based on a formal type system that is capable of capturing many common synchronization patterns. These patterns include classes with internal synchronization, classes thatrequire client-side synchronization, and thread-local classes. Experience checking(More)
In the standard Java implementation, a Java language program is compiled to Java bytecode. This bytecode may be sent across the network to another site, where it is then interpreted by the Java Virtual Machine. Since bytecode may be written by hand, or corrupted during network transmission, the Java Virtual Machine contains a <i>bytecode verifier</i> that(More)
Atomicity is a fundamental correctness property in multithreaded programs, both because atomic code blocks are amenable to sequential reasoning (which significantly simplifies correctness arguments), and because atomicity violations often reveal defects in a program's synchronization structure. Unfortunately, all atomicity analyses developed to date are(More)
Evidence has indicated that the right frontal cortex is preferentially involved in self-face recognition. To test this further, we employed a face identification task and examined hand response differences (N=10). Pictures of famous faces were combined with pictures of the participants' faces (self) and their co-workers' faces (familiar). These images were(More)
Ensuring the reliability of multithreaded software systems is difficult due to the interaction between threads. This paper describes the design and implementation of a static checker for such systems. To avoid considering all possible thread interleavings, the checker uses assume-guarantee reasoning, and relies on the programmer to specify an environment(More)
Evidence suggests that autobiographical memory, self-related semantic category judgements, and self-identification tasks may be lateralised, with preferential activity in the right anterior temporal and prefrontal cortex. To test this hypothesis, participants (N=10) were presented with morphed images of themselves (self) combined with a famous face. A(More)
Subjects were exposed to pictures of self and others (e.g., friend, stranger, and famous people) to determine if there was an advantage in reaction time and accuracy in identifying the self. It was found that upright and inverted self-faces were identified more rapidly than non-self faces when subjects responded with their left hand, which in other tasks(More)