[PRL] Precision of Reachability analysis
Johan
johan at ccs.neu.edu
Tue Jan 13 17:56:10 EST 2004
Does anyone have any intuition about reachability for "typical" java
programs? To keep on track, I'd like to avoid a discussion of what a
constitutes a "typical" program. I believe that javac is typically
cited as a convenient example. Feel free to insert your own.
Because of dynamic dispatch and interfaces, I'd suspect that the
analysis will quickly become very coarsegrained. In other words, I would
expect that typical java programs have control-flow graphs with a high
degree of both interconnection and thus strong-connection.
Unfortunately, I've failed to dig up any anecdotal evidence to support
this. Any thoughts? For extra credit, speculate how much of this effect
is due to conservative analysis, and how much is true dynamic nature
of the program. If this draws blanks, feel free to answer for some
other (hopefully similar) language.
Lastly, I must apologize for a very imprecise question; I don't even
know the units in which to measure the interconnectedness of a graph.
Maybe something like a lorenz curve:
Low interconnectivity:
% reachable nodes
|
| |
| |
| |
| |
| |
| ____/
| __----
|____---
+--------------------------
% nodes of program
What I imagine a typical java program to look like:
% reachable nodes
| _________--------
| /
| /
| |
| |
| |
| |
| |
|_/
+--------------------------
% nodes of program
More information about the PRL
mailing list