Click to Rate and Give Feedback
Tips
Windows 7 allows you to turn off the various system messages and notifications that pop up on the Taskbar. Find out how. ...

Read more!

Each mailbox has an Exchange alias and display name associated with it. You can change the Exchange alias in four steps. ...

Read more!

You should run maintenance routines against databases on a daily basis. By default, Exchange Server runs maintenance tasks daily from 1:00 A.M. to 5:00 A.M. but you can customized the time if you so desire. ...

Read more!

Are you hesitant to install the Windows 7 beta on your system? It's actually quite easy to prep your Windows Vista system to dual boot both operating systems--and all the tools you need are readily available in Windows Vista. Find out how. ...

Read more!

You can run Check Disk from the command line or within other utilities. At a command prompt, you can test the integrity of the E drive by typing these commands. ...

Read more!

Related Articles

Raymond Chen fondly reminisces about working with the two worst computers ever made.

Raymond Chen

TechNet Magazine June 2008

...

Read more!

Raymond Chen explains why it is often the developers who have their acts together who end up checking in the final bug fixes to products.

Raymond Chen

TechNet Magazine January 2009

...

Read more!

Hardware detection in the days before proper Plug and Play devices was a very scary undertaking. Find out why.

Raymond Chen

TechNet Magazine January 2008

...

Read more!

Raymond Chen discusses the difficult job of satisfying audiophiles and those who just want the sound to work.

Raymond Chen

TechNet Magazine May 2009

...

Read more!

Raymond Chen explores how forcing file handles closed can lead to a series of cascading errors.

Raymond Chen

TechNet Magazine April 2009

...

Read more!

Also by this Author

Raymond Chen looks at the evolution of the Alt+Tab hotkey and how the Alt+Esc hotkey has remained unscathed.

Raymond Chen

TechNet Magazine March 2009

...

Read more!

Raymond Chen explores how forcing file handles closed can lead to a series of cascading errors.

Raymond Chen

TechNet Magazine April 2009

...

Read more!

Raymond Chen discusses the intriguing backstory of how naming conventions for non-final releases have changed. And he gives a gentle plea for companies to take beta testing more seriously.

Raymond Chen

TechNet Magazine March 2008

...

Read more!

Raymond Chen discusses the difficult job of satisfying audiophiles and those who just want the sound to work.

Raymond Chen

TechNet Magazine May 2009

...

Read more!

Raymond Chen explains how a bit of diagnostic code unexpectedly brought the Windows 95 build to crawl.

Raymond Chen

TechNet Magazine September 2008

...

Read more!

Popular Articles

Windows Vista SP1 and Windows Server 2008 introduce important changes to BitLocker, including support for data volumes and improved protection against cryptographic attacks. Byron Hynes explores the new features, demonstrates how to use BitLocker on a server, and discusses some of the recent media coverage affecting BitLocker.

Byron Hynes

TechNet Magazine June 2008

...

Read more!

Why do attachment sizes increase when sending and receiving e-mail messages? How can you ensure databases on a passive node in a CCR cluster are defragmented during online maintenance? Can you use an external trust between forests? We answer these questions and more.

Henrik Walther

TechNet Magazine January 2009

...

Read more!

The introduction of Hyper-V makes virtualization an even more compelling solution for IT environments. Get an overview of today’s virtualization market and see how Hyper-V improves the manageability, reliability, and security of virtualization

Rajiv Arunkundram

TechNet Magazine October 2008

...

Read more!

The upcoming release of Microsoft Identity Lifecycle Manager “2” offers many new features and enhancements. Explore the new portal experience and find out how you can cut costs with self-service tools, increase security compliance with business process modeling, and reduce development time with simplified development tools.

Aung Oo

TechNet Magazine January 2009

...

Read more!

Security principals underlie so much of Windows security that it is essential for any administrator to have at least a basic understanding of how the various types of Security principals work and how they are used. Here's what you need to know.

Jesper M. Johansson

TechNet Magazine January 2009

...

Read more!

Our Blog

NAP monitors the health of specified computers when they attempt to connect to a network and includes a number of mechanisms to enforce health requirements. In this article, Geek of All Trades Greg Shields gives readers an overview of these enforcement mechanisms and, as an example, takes a closer look at setting ...

Read more!

Use Windows PowerShell to Manage Virtual Machines Here are a few examples of how you can use Windows PowerShell scripts to manage virtual machines running on a Server Core installation. Note that these scripts are presented as samples and may need to be customized to work in your environment.

Create a New ...

Read more!

Disabling an Unused Part of Group Policy Objects One way to disable a policy is to disable an unused part of the GPO. By disabling part of a policy that isn’t used, the application of GPOs and security will be faster.

Administer Windows Server 2008 Server Core from the Command Prompt ...

Read more!

In the August 2008 issue of TechNet Magazine, Paul Randal wrote an article Top Tips for Effective Database Maintenance.  It was geared toward "involuntary  DBAs" (IT pros who inadvertently wind up responsible for a SQL Server instance).  The article had a great response from our readers so Paul has written another ...

Read more!

Microsoft Forefront is designed to deliver an integrated security solution that makes it much easier to deploy and manage security across an organization’s IT infrastructure. In this, our annual security issue, we feature two articles that describe how Forefront Security protects instant messaging and e-mail.

Protect ...

Read more!

Windows Confidential Work Harder, Not Smarter
Raymond Chen


For software developers, one of the great benefits of Windows Error Reporting is that they can get real-world information about how their programs fail. These error reports are available to any software vendor who registers online at winqual.microsoft.com. Sure, you can run all sorts of tests in your labs, but there is always a gap between lab conditions and real-world conditions. This can result in bugs that never show up in your testing but that drive your customers crazy.
I was told a story a few years ago by a programmer who was assigned a task from his product's reliability team. The team wanted to address the top reasons for crashes and hangs in a particular component. After some negotiation, both parties agreed to set a goal of reducing the number of these types of failures by a factor of 2. They wanted to fix bugs that are responsible for at least 50 percent of the crashes and hangs in that component, as measured by Windows Error Reporting.
We all know that failures are not uniformly distributed. Some are rare, others are common, and still others are rampant (relatively speaking). Engineering is a game of trade-offs; given finite resources (time, money, and brainpower), you have to dedicate your resources to where they will have the greatest effect. Since the goal here was to reduce the number of crashes and hangs, the sensible approach was to study the most common failures reported by Windows Error Reporting, understand the root causes, and then try to fix these common failures.
Windows Error Reporting provides real-world information on program failures (Click the image for a larger view)
When the programmer dug into the failure data, it became clear that five particular crashes and hangs accounted for more than 60 percent of the reports. If the programmer could fix the bugs that were causing these five failures, he'd reduce the number of crashes and hangs by a factor of 2.5, well above the target factor of 2.
Microsoft's own analysis of Windows Error Reporting data shows that the Pareto principle is a surprisingly good rule of thumb for Windows crashes and hangs; about 20 percent of bugs cause 80 percent of failures. The same study revealed an even more surprising result: just 1 percent of bugs cause 50 percent of errors. Not all bugs are created equal, but it's quite an eye-opener to learn how heavily skewed the distribution is.
After studying those five failures more carefully, the programmer came to the realization that all of them had the same root cause. The crashes and hangs were just different manifestations of the same underlying bug. So he developed and tested a fix and, in conjunction with the folks in quality assurance, set into motion the steps for including the fix in the next patch. With that one bug fix, the theoretical failure rate for the component instantly dropped by a factor of 2.5. His mission was accomplished with one fairly straightforward code fix.
When I heard this story, I was amazed that the error distribution curve for the component was even sharper than for Windows. Well over half of all the crashes and hangs were caused by a single bug. This is the sort of insight into your code that isn't possible without the data collected by something like Windows Error Reporting.
You'd think the reliability team would be ecstatic to have met its goal so quickly. The agreed-upon target was exceeded in just two weeks with a single fix. Instead, they were furious.
"That's unacceptable—we expected this to take two months. It was too easy!" Apparently, they wanted the programmer to work harder, not smarter.
Raymond Chen's Web site, The Old New Thing, and identically titled book deal with Windows history and Win32 programming. Twenty percent of his clothes are responsible for eighty percent of his laundry.

Page view tracker