The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.05 - May (1993 vol.19)
pp: 478-485
ABSTRACT
<p>The authors present a practical extension to typestate checking, which is capable of proving programs free of uninitialized variable errors even when these programs contain conditionally initialized variables where the initialization of a variable depends upon the equality of one or more tag variables to a constant. The user need not predeclare the relationship between a conditionally initialized variable and its tags, and this relationship may change from one point in the program to another. The technique generalizes liveness analysis to conditional liveness analysis. Like typestate checking, this technique incorporates a dataflow analysis algorithm in which each point in a program is labeled with a lattice point describing statically tracked information, including the initialization of variables. The labeling is then used to check for programming errors such as referencing a variable which may be uninitialized.</p>
INDEX TERMS
program verification; typestate checking; conditional liveness analysis; uninitialized variable errors; dataflow analysis algorithm; statically tracked information; programming errors; program verification
CITATION
R.E. Strom, D.M. Yellin, "Extending Typestate Checking Using Conditional Liveness Analysis", IEEE Transactions on Software Engineering, vol.19, no. 5, pp. 478-485, May 1993, doi:10.1109/32.232013
24 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool