acm-header
Sign In

Communications of the ACM

Latest Research



FastTrack: Efficient and Precise Dynamic Race Detection
From Communications of the ACM

FastTrack: Efficient and Precise Dynamic Race Detection

Multithreaded programs are notoriously prone to race conditions. Prior work developed precise dynamic race detectors that never report false alarms. However, these...

Goldilocks: A Race-Aware Java Runtime
From Communications of the ACM

Goldilocks: A Race-Aware Java Runtime

GOLDILOCKS is a Java runtime that monitors program executions and throws a DataRaceException when a data race...

From Communications of the ACM

Technical Perspective: Data Races Are Evil with No Exceptions

Exploiting parallelism has become the primary means to higher performance. Shared memory is a pervasively used programming...

Difference Engine: Harnessing Memory Redundancy in Virtual Machines
From Communications of the ACM

Difference Engine: Harnessing Memory Redundancy in Virtual Machines

Virtual machine monitors are a popular platform for Internet hosting centers and cloud-based compute services. But main memory is not amenable to multiplexed hardware...

From Communications of the ACM

Technical Perspective: A VM 'Engine' That Makes a Difference

The past decade has witnessed a renaissance in server virtualization. Diwaker Gupta et al. present a novel approach for significantly improving the efficiency of...

Constraint Satisfaction Problems and Global Cardinality Constraints
From Communications of the ACM

Constraint Satisfaction Problems and Global Cardinality Constraints

In a constraint satisfaction problem (CSP) the goal is to find an assignment of a given set of variables subject to specified constraints. A global cardinality...

From Communications of the ACM

Technical Perspective: Constraint Satisfaction Problems and Computational Complexity

It takes little imagination to come up with a wealth of problems in scheduling and planning that can be expressed asConstraint Satisfaction...

Reasoning About the Unknown in Static Analysis
From Communications of the ACM

Reasoning About the Unknown in Static Analysis

Static program analysis techniques cannot know certain values, such as the value of user input or network state, at analysis...

From Communications of the ACM

Technical Persepctive: Large-Scale Sound and Precise Program Analysis

You are given a program. Will it crash? Is it subject to a spoofing, buffer overflow, or injection attack? Is this part of...

X86-TSO: A Rigorous and Usable Programmer's Model For X86 Multiprocessors
From Communications of the ACM

X86-TSO: A Rigorous and Usable Programmer's Model For X86 Multiprocessors

Exploiting the multiprocessors that have recently become ubiquitous requires high-performance and reliable concurrent systems code. However, concurrent programming...

From Communications of the ACM

Technical Perspective: A Solid Foundation For X86 Shared Memory

Multithreaded programs that communicate through shared memory are pervasive. Today they are the most obvious...

seL4: Formal Verification of an Operating-System Kernel
From Communications of the ACM

seL4: Formal Verification of an Operating-System Kernel

We report on the formal, machine-checked verification of the seL4 microkernel from an abstract specification down to its C implementation. We assume correctness...

From Communications of the ACM

Technical Perspective: Learning To Do Program Verification

When you decide to use a piece of software, how do you know it will do what you need it to do? Will it be safe to run? Will it interfere...

Asserting and Checking Determinism For Multithreaded Programs
From Communications of the ACM

Asserting and Checking Determinism For Multithreaded Programs

The trend towards processors with more and more parallel cores is increasing the need for software that can take advantage of...

From Communications of the ACM

Technical Perspective: Building Confidence in Multicore Software

Surprises may be fun in real life, but not so in software. One approach to avoiding surprises in software is to establish its...

Automatic Program Repair With Evolutionary Computation
From Communications of the ACM

Automatic Program Repair With Evolutionary Computation

There are many methods for detecting and mitigating software errors but few generic methods for automatically repairing errors once they are discovered. Recent...

From Communications of the ACM

Technical Perspective: Automated Patching Techniques: The Fix Is In

Finding bugs is technically demanding and yet economically vital. How much more difficult yet valuable would it be to...

Censored Exploration and the Dark Pool Problem
From Communications of the ACM

Censored Exploration and the Dark Pool Problem

The success and proliferation of dark pool stock exchanges have created challenging and interesting problems in algorithmic trading—in particular, the problem of...

From Communications of the ACM

Technical Perspective: Learning to Act in Uncertain Environments

The problem of decision making in an uncertain environment arises in many diverse contexts. The key issue in effectively solving problems like this is known as...

Faster Dimension Reduction
From Communications of the ACM

Faster Dimension Reduction

Data represented geometrically in high-dimensional vector spaces can be found in many applications. The need to manipulate such data in huge corpora and to support...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account