Abstract | ||
---|---|---|
Programmers working on the year 2000 problem need to locate and understand date sensitive code, that is, code whose execution depends on date inputs. This paper presents several dynamic analysis methods for addressing this problem. Date sensitive code can be located by running many test cases that are identical except for a change in one date value. An advanced test coverage tool can recover each test's execution count vector giving the number of times that each basic block was executed. Comparison of the vectors reveals the blocks whose execution is affected by the input date values. We present several methods of analysing the execution count data to locate date algorithms. One method identifies subdomains, that is, ranges of dates that are processed similarly,. Another method involves graphical or Fourier analysis to identify common programming patterns such as leap-year computations. The last method exploits the 28-year regularity in dates to look for anomalies in processing. The methods are illustrated using Bellcore's ATAC testing tool on five C programs that use some of the date encodings that year 2000 maintainers may need to locate and understand. Copyright (C) 1999 John Wiley & Sons, Ltd. |
Year | DOI | Venue |
---|---|---|
1999 | 3.0.CO;2-N" target="_self" class="small-link-text"10.1002/(SICI)1096-908X(199905/06)11:33.0.CO;2-N | Journal of Software Maintenance |
Keywords | Field | DocType |
dynamic analysis | Code coverage,Year 2000 problem,Data mining,Programming language,Computer science,Reverse engineering,Basic block,White-box testing,Exploit,Test case,Count data | Journal |
Volume | Issue | ISSN |
11 | 3 | 1040-550X |
Citations | PageRank | References |
1 | 0.45 | 0 |
Authors | ||
4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Norman Wilde | 1 | 507 | 31.04 |
Randy Justice | 2 | 1 | 0.78 |
Kristin Blackwell | 3 | 1 | 0.78 |
W. Eric Wong | 4 | 284 | 56.75 |