acm-header
Sign In

Communications of the ACM

Latest Research



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...

Computing Arbitrary Functions of Encrypted Data
From Communications of the ACM

Computing Arbitrary Functions of Encrypted Data

Suppose that you want to delegate the ability to process your data, without giving away access to it. This separation is possible: we describe a "fully homomorphic"...

From Communications of the ACM

Technical Perspective: A First Glimpse of Cryptography's Holy Grail

We all know how to protect our private or most valuable data from unauthorized access: encrypt it. Still, the use of encryption to protect...

Post-Silicon Bug Localization For Processors Using IFRA
From Communications of the ACM

Post-Silicon Bug Localization For Processors Using IFRA

IFRA overcomes major challenges associated with a very expensive step in post-silicon validation of processors — pinpointing a bug location and the instruction...

From Communications of the ACM

Technical Perspective: Want to Be a Bug Buster?

Microprocessor performance has increased exponentially. These chips with ever increasing complexity are not always fully functional on...

Native Client: A Sandbox For Portable, -Untrusted X86 Native Code
From Communications of the ACM

Native Client: A Sandbox For Portable, -Untrusted X86 Native Code

Native Client is a sandbox for untrusted x86 native code. It aims to give browser-based applications the computational performance of native applications without...

From Communications of the ACM

Technical Perspective: Native Client: A Clever Alternative

Google's Native Client is an intriguing new system that allows untrusted x86 binaries to run safely on bare metal.

Spamalytics: An Empirical Analysis of Spam Marketing Conversion
From Communications of the ACM

Spamalytics: An Empirical Analysis of Spam Marketing Conversion

We all receive spam advertisements, but few of us have encountered a person who admits to following through on an offer and making a purchase. And yet, the relentlessness...

From Communications of the ACM

Technical Perspective: They Do Click, Don't They?

You never click on advertisements received in spam or in phishing messages, do you? Nobody does. So, if that is...

Optimistic Parallelism Requires Abstractions
From Communications of the ACM

Optimistic Parallelism Requires Abstractions

Writing software for multicore processors is greatly simplified if we could automatically parallelize sequential programs. Although auto-parallelization has been...

From Communications of the ACM

Technical Perspective: Abstraction For Parallelism

Looking for some new insight into an old problem? The  familiar problem of writing parallel applications and a...

Statistical Analysis of Circuit Timing Using Majorization
From Communications of the ACM

Statistical Analysis of Circuit Timing Using Majorization

Future miniaturization of silicon transistors following Moore's Law may be in jeopardy as it becomes harder to precisely define the behavior and shape of nanoscale...

From Communications of the ACM

Technical Perspective: Where the Chips May Fall

The traditional approach to circuit design has been to build chips that work correctly at extreme-case process...

Does Distributed Development Affect Software Quality?
From Communications of the ACM

Does Distributed Development Affect Software Quality?: An Empirical Case Study of Windows Vista

Existing literature on distributed development in software engineering and other fields discusses various challenges,...

From Communications of the ACM

Technical Perspective: Maintaining Quality in the Face of Distributed Development

It was a problem that should not have taken three weeks to solve. The documentation claimed that if a function was called...

From Communications of the ACM

Formal Verification of a Realistic Compiler

This paper reports on the development and formal verification of CompCert, a compiler from Clight (a large subset of the C programming language) to PowerPC assembly...

From Communications of the ACM

Technical Perspective: A Compiler's Story

In the early 1970s, pioneers like Floyd, Dijkstra, and Hoare argued that programs should be formally specified and proven...

Two Hardware-Based Approaches For Deterministic Multiprocessor Replay
From Communications of the ACM

Two Hardware-Based Approaches For Deterministic Multiprocessor Replay

Modern computer systems are inherently nondeterministic due to a variety of events that occur during an execution. The lack of repeatability that arises from this...

From Communications of the ACM

Technical Perspective: Software and Hardware Support For Deterministic Replay of Parallel Programs

Sign In for Full Access
» Forgot Password? » Create an ACM Web Account