acm-header
Sign In

Communications of the ACM

Latest Research



On the Naturalness of Software
From Communications of the ACM

On the Naturalness of Software

We begin with the conjecture that most software is natural, with all the attendant constraints and limitations — and thus, like natural language, it is also likely...

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: 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: The Equivalence Problem For Finite Automata

As the equivalence problem is essential in many applications, we need algorithms that avoid the worst-case complexity as often as possible. In "Hacking Nondeterminism...

Hacking Nondeterminism with Induction and Coinduction
From Communications of the ACM

Hacking Nondeterminism with Induction and Coinduction

We introduce bisimulation up to congruence as a technique for proving language equivalence of nondeterministic finite automata.

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

Neural Acceleration For General-Purpose Approximate Programs
From Communications of the ACM

Neural Acceleration For General-Purpose Approximate Programs

This paper describes a new approach that uses machine learning-based transformations to accelerate approximation-tolerant programs.

From Communications of the ACM

Technical Perspective: Attacking a Problem from the Middle

"Dissection: A New Paradigm for Solving Bicomposite Search Problems," by Itai Dinur, Orr Dunkelman, Nathan Keller, and Adi Shamir, presents an elegant new algorithm...

Dissection
From Communications of the ACM

Dissection: A New Paradigm For Solving Bicomposite Search Problems

In this paper, we introduce the new notion of bicomposite search problems, and show that they can be solved with improved combinations of time and space complexities...

From Communications of the ACM

Technical Perspective: The Power of Joint Multiuser Beamforming

Having multiple Wi-Fi Access Points with an overlapping coverage area operating on the same frequency may not be a problem anymore.

JMB
From Communications of the ACM

JMB: Scaling Wireless Capacity with User Demands

JMB, a joint multiuser beamforming system, enables independent access points (APs) to beamform their signals and communicate with their clients on the same channel...

From Communications of the ACM

Technical Perspective: The Interplay of Neuroscience and Cryptography

An ideal scheme for password storage would enable a password with more than 20 bits of randomness to be input and output from the brain of a human being who is...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account