Dynamic analysis methods for the year 2000 problem

Citation
N. Wilde et al., Dynamic analysis methods for the year 2000 problem, J SOFTW MAI, 11(3), 1999, pp. 167-182
Citations number
23
Categorie Soggetti
Computer Science & Engineering
Journal title
JOURNAL OF SOFTWARE MAINTENANCE-RESEARCH AND PRACTICE
ISSN journal
1040550X → ACNP
Volume
11
Issue
3
Year of publication
1999
Pages
167 - 182
Database
ISI
SICI code
1040-550X(199905/06)11:3<167:DAMFTY>2.0.ZU;2-X
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 pr oblem. Date sensitive code can be located by running many test cases that a re identical except for a change in one date value. An advanced test covera ge tool can recover each test's execution count vector giving the number of times that each basic block was executed. Comparison of the vectors reveal s the blocks whose execution is affected by the input date values. We prese nt several methods of analysing the execution count data to locate date alg orithms. One method identifies subdomains, that is, ranges of dates that ar e processed similarly,. Another method involves graphical or Fourier analys is to identify common programming patterns such as leap-year computations. The last method exploits the 28-year regularity in dates to look for anomal ies in processing. The methods are illustrated using Bellcore's ATAC testin g tool on five C programs that use some of the date encodings that year 200 0 maintainers may need to locate and understand. Copyright (C) 1999 John Wi ley & Sons, Ltd.