# Y2k Bug Essay Research Paper Y2K 41999Y2KAccording

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).

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.