Sign In

Communications of the ACM

Latest Research



From Communications of the ACM

Technical Perspective: Shedding New Light on an Old Language Debate

"A Large-Scale Study of Programming Languages and Code Quality in GitHub," by Baishakhi Ray, et al., studies whether programming language choice and code quality...

A Large-Scale Study of Programming Languages and Code Quality in GitHub
From Communications of the ACM

A Large-Scale Study of Programming Languages and Code Quality in GitHub

What is the effect of programming languages on software quality? In this study, we gather a very large data set from GitHub in an attempt to shed some empirical...

From Communications of the ACM

Technical Perspective: Broadening and Deepening Query Optimization Yet Still Making Progress

"Multi-Objective Parametric Query Optimization," by Immanuel Trummer and Christoph Koch is a remarkable tour de force exploration of the combination of both parametric...

Multi-Objective Parametric Query Optimization
From Communications of the ACM

Multi-Objective Parametric Query Optimization

We propose a generalization of the classical database query optimization problem: multi-objective parametric query (MPQ) optimization.

From Communications of the ACM

Technical Perspective: Toward Reliable Programming for Unreliable Hardware

"Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware" by Carbin et al. addresses challenges related to a bug, how likely it is to...

Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware
From Communications of the ACM

Verifying Quantitative Reliability for Programs that Execute on Unreliable Hardware

We present Rely, a programming language that enables developers to reason about the quantitative reliability of an application — namely, the probability that it...

From Communications of the ACM

Technical Perspective: Why Didn't I Think of That?

Until now, the database in a Web application has been treated as a global variable, accessible to all. In "Ur/Web: A Simple Model for Programming the Web," Adam...

Ur/Web
From Communications of the ACM

Ur/Web: A Simple Model for Programming the Web

This paper presents Ur/Web, a domain-specific, statically typed functional programming language that reduces the nest of Web standards for modern Web applications...

Enhancing Symbolic Execution with Veritesting
From Communications of the ACM

Enhancing Symbolic Execution with Veritesting

In this article, we present a new technique for generating formulas called veritesting that alternates between static symbolic execution (SSE) and dynamic symbolic...

From Communications of the ACM

Technical Perspective: A Breakthrough in Software Obfuscation

In "Hiding Secrets in Software," Garg et al. construct a "one-way compiler" of the type envisioned by Diffie and Hellman.

From Communications of the ACM

Technical Perspective: Software Is Natural

"On the Naturalness of Software" by Hindle et al. takes an entirely new approach to providing tools to help build software.

From Communications of the ACM

Technical Perspective: Taming the Name Game

In "Learning to Name Objects," the authors offer a method to determine a basic-level category name for an object in an image.

Learning to Name Objects
From Communications of the ACM

Learning to Name Objects

This paper looks at the problem of predicting category labels that mimic how human observers would name objects.

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

To instill greater confidence in computations outsourced to the cloud, we introduce Pinocchio, a built system for efficiently verifying general computations while...

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...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account