1992
DOI: 10.1145/161494.161501
|View full text |Cite
|
Sign up to set email alerts
|

Undecidability of static analysis

Abstract: Static analysis of programs is indispensable to any software tool, environment, or system that requires compile-time information about the semantics of programs. With the emergence of languages like C and LISP, static analysis of programs with dynamic storage and recursive data structures has become a field of active research. Such analysis is difficult, and the static-analysis community has recognized the need for simplifying assumptions and approximate solutions. However, even under the common simplifying as… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
140
0
1

Year Published

2001
2001
2020
2020

Publication Types

Select...
5
3
1

Relationship

0
9

Authors

Journals

citations
Cited by 289 publications
(142 citation statements)
references
References 5 publications
1
140
0
1
Order By: Relevance
“…JFlow compiler [22] statically checks programs for correctness using information flow annotations and formal rules to prevent information leaks through storage channels. The major disadvantage of all the static analysis approaches is that they require a source code, they have some limitations due to undecidability problems [21] and they might report a number of false positives [6].…”
Section: Related Workmentioning
confidence: 99%
“…JFlow compiler [22] statically checks programs for correctness using information flow annotations and formal rules to prevent information leaks through storage channels. The major disadvantage of all the static analysis approaches is that they require a source code, they have some limitations due to undecidability problems [21] and they might report a number of false positives [6].…”
Section: Related Workmentioning
confidence: 99%
“…Others have studied the complexity and decidability of precise flow-sensitive and partially-flow-sensitive points-to analysis [11,15,17].…”
Section: Related Workmentioning
confidence: 99%
“…While Jif's analysis could be improved, determining whether a runtime exception could occur or not is undecidable [15], so no analysis can be perfect. To show the general difficulty of the problem, consider the following code (taken from the public key authentication routine in J2SSH):…”
Section: Security Type Checking and Implicit Flowsmentioning
confidence: 99%
“…Currently, most null pointer accesses cannot be proven safe by Jif, and as almost any line of Java code can throw a NullPointerException, this leads to an unacceptably high number of false alarms. Improved analyses could reduce this false alarm rate, but due to the fundamental undecidability of determining if a null pointer access is safe [15] combined with the difficulty of maintaining invariants for every line of code (as seen in Figure 3), these analyses will likely remain imperfect.…”
Section: Towards Painfree Noninterferencementioning
confidence: 99%