Boolean Satisfiability: Theory and Engineering
The Boolean Satisfiability Problem is a problem of central importance in computer science. At the same time, it is a paradigmatic constraint-satisfaction problem with numerous applications, including hardware and software …
Letter from the President
What If It's Us?
If there are intelligent civilizations in our galaxy, why have we not yet detected any evidence of them? Noted science fiction writer David Brin has a particularly scary answer to the question. What if we are the ones who are …
Letters to the Editor
Develop Research Culture in the Arab Middle East
The Arab Middle East needs a cultural revolution in terms of research, especially in computer science.
Capturing and Structuring Data Mined from the Web
Kate Matsudaira considers not only how to mine data from the Web, but what to do with it once you have it.
The first steps have been taken toward enabling a computer to perceive one's thoughts.
World Without Wires
Capturing electricity from ambient RF transmissions can keep low-power applications off the grid.
Playing at Health
Developers try to tap the beneficial effects of video games.
Mass Digitization as Fair Use
Considering the implications of the late-2013 ruling in favor of Google in the Authors Guild case.
Why Software Engineering Courses Should Include Ethics Coverage
Encouraging students to become comfortable exercising ethical discernment in a professional context with their peers.
The profession of IT
'Surfing Toward the Future'
A new report from Chile about improving economic competitiveness advances a novel interpretation of innovation. Timing is everything.
The Impact of the United Nations Convention on the Rights of Persons with Disabilities
Codifying human rights and inclusiveness in a technical context for people with disabilities.
How to Build a Bad Research Center
Sharing lessons learned from experiences creating successful multidisciplinary research centers.
Eventually Consistent: Not What You Were Expecting?
Methods of quantifying consistency (or lack thereof) in eventually consistent storage systems.
The API Performance Contract
How can the expected interactions between caller and implementation be guaranteed?
Scaling Existing Lock-Based Applications with Lock Elision
Enabling existing lock-based programs to achieve performance benefits of nonblocking synchronization.
Making Parallel Programs Reliable with Stable Multithreading
Stable multithreading dramatically simplifies the interleaving behaviors of parallel programs, offering new hope for making parallel programming easier.
Using Targeted Conferences to Recruit Women Into Computer Science
To inspire women to major in CS, take them to the Grace Hopper Celebration of Women in Computing.
Big-Data Applications in the Government Sector
In the same way businesses use big data to pursue profits, governments use it to promote the public good.
Trends in Steganography
Methods for embedding secret data are more sophisticated than their ancient predecessors, but the basic principles remain unchanged.
Technical Perspective: Smartphone Security 'Taint' What It Used to Be
The TaintDroid project takes a runtime taint tracking approach toward analyzing Android apps.
TaintDroid: An Information Flow Tracking System For Real-Time Privacy Monitoring on Smartphones
Today's smartphone operating systems frequently fail to provide users with adequate control over and visibility into how third-party applications use their privacy-sensitive data. We address these shortcomings with TaintDroid …
Puzzled: Solutions and Sources
Last month (February 2014) we posted three games in which you were asked to pick a positive integer. The question in each was: What is the highest number you should think about picking? Here, we offer solutions to all three.
Q&A: RISC and Reward
Having helped develop Reduced Instruction Set Computing and Redundant Arrays of Inexpensive Disks, David Patterson has set his sights on interdisciplinary research.