Future Watch: Software bugs on the march
Technical, management and legal issues suggest they'll be around a while.
Computerworld - The blame for software bugs belongs nearly everywhere. It belongs to vendors that rush products to market without adequately testing them, a sin also shared by corporate in-house development teams. It belongs to a legal system that has given software developers a free pass on bug-related damages. And it belongs to university computer science programs that stress development over testing.
Blame, however, doesn't belong with Sarfraz Khurshid, an MIT researcher who's at the forefront of developing automated testing processes for software. Testing software involves generating "inputs" -- instructions for software to follow. But there are as many ways to test software as there are different snowflake patterns. For every possible way software can break, there must be a test that can detect that.
"There are an infinite number of inputs," says Khurshid, but once you know how to automatically generate them, "which ones do you generate?"
Khurshid has developed algorithms for generating inputs, and he expects the automated testing algorithms to improve over the next few years. But experts say improvements in automated testing technology alone won't necessarily lead to better software quality.
"Most software products have not been designed for quality," says Herb Krasner, who heads the Software Quality Institute at the University of Texas at Austin. "In the commercial world, quality software is not the primary motivation -- the primary motivation is to get to market as fast as possible. It's the race to market that compromises quality in many cases."
Inadequate software testing is blamed for $60 billion in annual costs incurred by users and vendors, according to a study conducted last year by the Commerce Department's National Institute of Standards and Technology in Gaithersburg, Md. Viruses that exploit defects can cause billions of dollars in additional damages.
Standards Push
Today, there are no standards for measuring software quality, broadly defined as functionality, reliability, usability, efficiency, maintainability and portability. But there's a long-term effort under way to develop standards for comparing the quality of products, something that's impossible today.
This effort was prompted, in part, by one of the most famous software bugs of all: The one that caused the 1999 crash of the Mars Polar Lander on Mars. It was a watershed event for NASA and led to a decision by the space agency to expand its work with universities on quality issues. It even signed a lease allowing Carnegie Mellon University to establish a West Coast campus at Moffett Field, Calif.
NASA also helped to spearhead the creation of the Carnegie Mellon-based Sustainable Computing Consortium



- Excel 2010 Cheat Sheet
- Register for this Computerworld Insider Cheat Sheet and gain access to hundreds of premium content articles, guides, product reviews and more.
- Forrester Total Economic Impact (TEI) Case Study - Oracle
- In this paper, Forrester Consulting examines the total economic impact and potential return on investment (ROI) realized by three Enterprise organizations as they...
- The Hidden Truth About Virtualizing Business-Critical Applications
- This IDG whitepaper highlights key findings based on the Quickpoll Survey conducted with more than 300 Enterprise and Commercial IT decision makers worldwide...
- Top 10 Myths About Virtualizing Business-Critical Applications
- Even though virtualization has brought positive change to enterprise IT over the last decade, some skepticism remains about how valuable virtualization can be...
- Enterprise Java Applications on VMware: Unix to Linux Migration Guide
- This guide focuses on key considerations for IT Architects who are in the process of migrating Java applications from UNIX to Linux as...
- Virtualizing Tier 1 Applications: A Critical Step on the Journey Toward the Private Cloud
- This IDC white paper explains how much of the Enterprise IT community is at a crossroads in extending their journey to the private... All Applications White Papers
- Live Webcast
Banish Poor Application Performance: Eliminate Business Disruptions, Increase End User Productivity - End User Experience, 30-Min Webinar
Wed. Feb. 22nd ~ 11 AM ET
Are you ready to gain the proactive ability to rapidly respond... - Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
- Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
- Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
- Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
- Virtualize Business-Critical Applications with Confidence
- Virtualizing business-critical applications has become a key focus for organizations as they move along their virtualization journey. With the launch of VMware vSphere®...
- Discover the Benefits of Virtualization for Federal Applications
- Want to say goodbye to missed SLAs? VMware can help you virtualize mission-critical applications such as Oracle, MS Exchange and SharePoint to achieve...
- Reduce Application Lifecycle Management Costs with VMware ThinApp
- Traditional desktop application deployment and management is a time-consuming and costly endeavor for IT. From development to deployment, including help desk support, the... All Applications Webcasts