Y2k Bug Essay, Research Paper
Y2K 4/19/99Y2KAccording to some individuals, the end of theworld is coming. The Y2K bug has been exaggeratedso much that people are moving to Montana with 5years of food supply. Most people don t even know whyto panic, but the media is hyping this as Armageddon. The year 2000 problem (Y2K, Millennium Bug,Millennium Virus) came about due to programmingpractices involving the use of 6 digit dates (dd/mm/yy)vs. 8 digit dates (dd/mm/yyyy). Thus, any computerprogram which deals with 6 dates is susceptible to theY2K problem. The Y2K problem involves two key date issues: Date mathematics, and systems that check the date. For years businesses have used date math tocompute things such as aging schedules, due dates,past due accounts, etc. Many computer applicationsnow support the use of date mathematics (Lotus 1-2-3,MS-Excel, MS-Access, etc.) These applications allwork by using a base year (often Jan 01, 1900) as astarting point and then tracking the date and timenumerically from that point (how much time haselapsed since Jan 01. 1900). Thus, a time might bestated as a fractional component of the day integer(35927.63 + May 12, 1998, 3:08 p.m. based onMS-Excel). This means that to computer the differencein today and when a bill was incurred would indicatehow old a debt was (e.g. 45 days = past due). So, whenthe year 2000 comes into play using a 6 digit date wewould end up with situations like Jan 01, 00 – May 12,1998. If this is misinterpreted by a computer system as1900 then the calculation will result in a large negativenumber (in this case -35,926). This number may or maynot be a problem the computer application can dealwith. It is possible that this number will be made intothe absolute value ( the negative sign is dropped if nospace is reserved to hold it) which will cause even moreconfusion. Imagine if your debt went from 22 days oldto 35,926 says old. The past due notice would give youa surprise. In old COBOL (a programming language that is stillin widespread use) dealing with date math is even morecomplicated. Dates in COBOL are typically stored inthree different locations (a month, a day, and a year). The year is often stored as 2 digits to save space andsimplify output problems with pre-printed forms. Insome cases, COBOL programs were written with 4 digitdates and 1900 is subtracted from the date to generatethe form (1981 – 1900 = 81) so that the form can looklike 1981 when it is generated. This will cause aproblem since 2001 – 1900 = 101 instead of 01. In othercases where a 6 digit date was used, the problem iseven worse since there is no clear indication of whichdate we are talking with. Imagine a COBOL programthat deals with county record to record births anddeaths. If all the dates are stored as 6 digits soon youwill have records which say something like 09/03/63.Now suppose I live to be a hundred years old, my birthis recorded as 09/03/63 and if I die on my birthday 100years later my death would be 09/03/63. A casualobserver might interpret this as me dying at birth orwho knows what. Thus, the main problem of Y2K is the problem ofincorrect results when date mathematics areconducted. Most companies are working to correctthese problems in their COBOL programs and mostcurrent micro computer applications already have builtin fixes. The second type of problem involves systems thatcheck the date for some purpose to determine if a validdate is being used. An example might be a credit cardexpiration date. If the program that checks this whenthe card is scanned is very simple it might just say, Istoday greater than the expiration date? . Thus,01/01/99 is greater than 01/01/00 which would result inyour credit card being rejected. Another example is asecurity system which checks to see if today is a validdate before recording an entry or exit from a building.
If the 00 date is determined to be out of range or thecomputation is at fault the system may simply shutdown and lock all the doors. Why did programmers do this? Essentially severalreasons exist for this problem: saving space inmemory, preprinted forms, and unexpected longevity. Originally, computers had very small amounts ofmemory available and the repeated use of two extranumbers could make a significant difference on theamount of memory available so in the interests ofefficiency, the seemingly redundant thousands andhundreds were dropped. Designing computer output for old systems wasquite tedious and required that every variable bespecifically defined. In order to make it easy to print atwo digit year after a preprinted 19 it was simpler touse two digit years in the program. Since the year 2000 was a very distant date mostpeople didn t really think about this problem untilrecently. Thus, a lot of programs were written in thetraditional manner of using 2 digit years on the date. So now that we know what the Y2K bug is, we needto know how it is going to affect our lives. No oneknows for sure what will happen, but we can makesome educated guesses. Most companies are taking steps to deal with thisproblem. There will likely be isolated incidences ofproblems (like a credit card rejected) that will quicklybe identified and corrected by the institution. At home,if you make sure all of your applications and programsutilize 8 digit dates then you should experience noproblems with your personal applications. Many people believe that a large number ofdevices that utilize PLDS (Logic Devices) will fail whenthe year 2000 rolls around since PLDS contain datesensitive code. In particular programmable deviceslike VCRs, Coffee Makers, Security Systems, etc. aresusceptible to this type of problem. If the PLD is datesensitive and was not set up to deal with 8 digit dates,then a number of different things may happen, 1)thedevice may simply fail to operate; 2) the device mayreport the incorrect day of the week (if it thinks it is1900); 3) the device may fail to operate as expected(coffee maker doesn t come on in the morning). Thus,there is the potential for a lot of problems with this typeof thing but I don t think any of it is earth shattering(although if my coffee maker stops working there isgoing to be a serious problem). The other side of the coin is that PLD devices areused in large production systems that manage thingslike power plants and food processing machinery(literally everything these days has a PLD in itsomewhere). Many speculate that electricity will failand all sorts of problems will ensue. My thought is thatif the power company is not producing electricity then itis not making any money. While I have not worked inthe power industry, my feeling is that they are testingthese systems and making corrections so again, theremay be some isolated power outages, but as soon asthe power fails they can start repairing that system. The easiest thing to do is to set the dates on thevarious devices in your house that are programmable(security system, coffee maker, etc.) to dates after theyear 2000 and see what happens. If any problemsensue then you can figure out what to do next (contactthe manufacturer or replace the device). Mostly Iwould check out your most critical systems. I checkedout the coffee maker and the VCR and both workedfine. So, it appears the greatest danger from the Year2000 computer problem may be panic amongAmericans convinced there will be major disruptions. The International Association of Emergency Managerssaid that communities should prepare as if for a storm,including the aftereffects, lasting about seven days. Sodon t worry about Y2K, just make sure you can stillmake coffee.
Dunn, Ashley – Los Angeles Times, 3/21/99 Y2K FEARSEXAGGERATED, MOST EXPERTS AGREE Greenleaf, Arie T. – University Wire, 3/4/99, Y2K:Meltdown of minor problem? Staff Writer – Chicago Tribune, 3/23/99 SKY IS NOTFALLING Gephart, John – www.udel.edu, 4/6/99, I got your Y2Kcompliance right here, Sparky! www.y2kisok.com – 4/5/99, Y2K Bug FAQ