acm-header
Sign In

Communications of the ACM

Latest Research



From Communications of the ACM

Technical Perspective: The State (and Security) of the Bitcoin Economy

"A Fistful of Bitcoins" examines, in the context of Bitcoin, what we could learn by studying the patterns encoded in a complete record of every single financial...

From Communications of the ACM

Technical Perspective: Fairness and the Coin Flip

"Secure Multiparty Computations on Bitcoin" introduces an exciting new idea for how to provide fairness: leverage Bitcoin’s existing infrastructure for distributed...

Secure Multiparty Computations on Bitcoin
From Communications of the ACM

Secure Multiparty Computations on Bitcoin

In this work, we propose to use Bitcoin to design fully decentralized protocols that are secure even if no trusted third party is available.

From Communications of the ACM

Technical Perspective: Stacking Up Undefined Behaviors

In "A Differential Approach to Undefined Behavior Detection," Wang et al. hypothesize that any time a compiler is able to delete code by using reasoning based on...

A Differential Approach to Undefined Behavior Detection
From Communications of the ACM

A Differential Approach to Undefined Behavior Detection

This paper studies undefined behavior arising in systems programming languages such as C/C++. We introduce a new static checker called STACK that precisely identifies...

From Communications of the ACM

Technical Perspective: Program Synthesis Using Stochastic Techniques

The authors of "Stochastic Program Optimization" have developed a stochastic search technique and applied it to program optimization.

Stochastic Program Optimization
From Communications of the ACM

Stochastic Program Optimization

By encoding constraints of transformation correctness as terms in a cost function, and using a Markov Chain Monte Carlo sampler to explore the space of all possible...

From Communications of the ACM

Technical Perspective: Catching Lies (and Mistakes) in Offloaded Computation

The system described in "Pinocchio: Nearly Practical Verifiable Computation" refines an important theoretical advance by Gennaro et al. Together, these two works represent...

Pinocchio
From Communications of the ACM

Pinocchio: Nearly Practical Verifiable Computation

We introduce Pinocchio, a built system for efficiently verifying general computations while relying only on cryptographic assumptions.

From Communications of the ACM

Technical Perspective: High-Performance Virtualization: Are We Done?

"Bare-Metal Performance for Virtual Machines with Exitless Interrupts" shows how to enable a virtual machine to attain "bare metal" performance from high-speed...

Bare-Metal Performance For Virtual Machines with Exitless Interrupts
From Communications of the ACM

Bare-Metal Performance For Virtual Machines with Exitless Interrupts

We present ExitLess Interrupts (ELI), a software-only approach for handling interrupts within guest virtual machines directly and securely.

From Communications of the ACM

Technical Perspective: Treating Networks Like Programs

"Software Dataplane Verification" takes existing static checking of networks to a new level by checking the real code in the forwarding path of a Click router using...

Software Dataplane Verification
From Communications of the ACM

Software Dataplane Verification

We present the result of working iteratively on two tasks: designing a domain-specific verification tool for packet-processing software, while trying to identify...

From Communications of the ACM

Technical Perspective: The Simplicity of Cache Efficient Functional Algorithms

In "Cache Efficient Functional Algorithms," Blelloch and Harper suggest we analyze the costs of functional algorithms by assuming objects are allocated sequentially...

Cache Efficient Functional Algorithms
From Communications of the ACM

Cache Efficient Functional Algorithms

We present a cost model for analyzing the memory efficiency of algorithms expressed in a simple functional language.

From Communications of the ACM

Technical Perspective: Programming Multicore Computers

"Can Traditional Programming Bridge the Ninja Performance Gap for Parallel Computing Applications" advocates an appealing division of labor between a developer...

Can Traditional Programming Bridge the Ninja Performance Gap For Parallel Computing Applications?
From Communications of the ACM

Can Traditional Programming Bridge the Ninja Performance Gap For Parallel Computing Applications?

Current processor trends of integrating more cores with SIMD units have made it more to extract performance from applications. It is believed that traditional...

From Communications of the ACM

Technical Perspective: The Specialization Trend in Computer Hardware

Specialization improves energy-efficiency in computing but only makes economic sense if there is significant demand. A balance can often be found by designing...

Convolution Engine
From Communications of the ACM

Convolution Engine: Balancing Efficiency and Flexibility in Specialized Computing

We present the Convolution Engine (CE) — a programmable processor specialized for the convolution-like data-flow prevalent in computational photography, computer...

From Communications of the ACM

Technical Perspective: Big Data Needs Approximate Computing

"Neural Acceleration for General-Purpose Approximate Programs" demonstrates the significant advantages in cost, power, and latency through approximate computing...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account