1993
DOI: 10.1109/32.232013
|View full text |Cite
|
Sign up to set email alerts
|

Extending typestate checking using conditional liveness analysis

Abstract: We 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 '@tagn 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 progrqm to another. Our technique generalize… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
36
0

Year Published

1995
1995
2010
2010

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 59 publications
(36 citation statements)
references
References 11 publications
0
36
0
Order By: Relevance
“…Some approaches avoid the issue: e.g., the original work on typestate verification [24,23] did not allow any aliasing, and more recent work on typestate verification based on linear types [7] also restrict aliasing severely. Some other approaches (e.g.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Some approaches avoid the issue: e.g., the original work on typestate verification [24,23] did not allow any aliasing, and more recent work on typestate verification based on linear types [7] also restrict aliasing severely. Some other approaches (e.g.…”
Section: Related Workmentioning
confidence: 99%
“…A technique that has received particular attention is that of finite state or typestate verification (e.g., see [24,23,19,5,7,3,8,12,11,16,1]). In this model, objects of a given type may exist in one of several states; the operations permitted on an object depend on the state of the object, and the operations may potentially alter the state of the object.…”
Section: Introductionmentioning
confidence: 99%
“…But in many cases, properties that do change are as important as properties that do not. Recognizing the benefit of capturing these changes, researchers have developed systems in which the type of the object changes as the values stored in its fields change or as the program invokes operations on the object [188,187,74,206,207,54,109,84]. These systems integrate the concept of changing object states into the type system.…”
Section: Chapter 6 Role Analysismentioning
confidence: 99%
“…Originally called type-state analysis [18], taint analysis has been largely adopted to detect inadequate or missing input validation, resulting in cross site scripting [22] [10], SQL-injection [9] and buffer overflow [16] vulnerabilities. In order to mitigate inaccuracy of pure taint analysis due to conservativity, more sophisticated analyses have been integrated, such as string analysis [22], program slicing [11], points-to analysis [12] and model checking [20].…”
Section: Related Workmentioning
confidence: 99%