I. Introduction
In software systems the use of un-initialized variables may lead to system outages, as the variables may have garbage values. Such failures may imply that the system does not behave as per its specifications. Further, the garbage value of an un-initialized variable may flow through the program resulting in incorrect computations, and the severity of the failure may increase multi-fold. The outcome of running such a program may simply be undeterminable. Tracking down a reason for this kind of failures and localizing the fault caused due to an un-initialized variable is a non-trivial task. As reported by one of our client, some of the faults took several months to be localized and traced. Certainly, such long time-frames for localizing a fault due to uninitialized variables are not desirable for the systems that are in production.