Juergen Graf
34674387e6
code cleanup of nullpointer analysis
...
- replace tabs with whitespace
- adjust documentation to refer to renamed stuff
2012-03-30 13:43:57 +02:00
Juergen Graf
acde4add28
add toString method for interprocedural exception analysis result
2012-03-30 13:10:40 +02:00
Juergen Graf
2fdd730c60
add assertion for name clashes of field with same name but different type - as it may occur in obfuscated bytecode
2012-03-29 02:12:29 +02:00
Juergen Graf
0a5cc40347
added interface for convenient computation of interprocedural nullpointer analysis
2012-03-29 02:08:05 +02:00
Juergen Graf
5ab421aba2
added a small disclaimer to the interprocedural nullpointer analysis
2012-03-29 01:08:31 +02:00
Juergen Graf
d35bde3fe9
add cancel exception to interproc nullpointer analysis
2012-03-29 00:57:09 +02:00
Juergen Graf
99a5958c7e
nullpointer analysis code cleanup
2012-03-29 00:50:05 +02:00
Juergen Graf
9033474819
first version of interprocedural nullpointer analysis
2012-03-28 22:30:16 +02:00
Juergen Graf
f7c56b0b34
fix typo in intrapro nullpointer analysis
2012-03-28 22:29:07 +02:00
Juergen Graf
d94a3d5b64
work around multiple fields with single name
2012-03-19 14:58:41 +01:00
Juergen Graf
7477b1730b
Merge branch 'wala' into master
2012-03-19 13:33:48 +01:00
dolby-oss
a9ec87f360
Changes motivated by analysis issues in JavaScript. The main change is that calls of the form f.x() in JavaScript are now analyzed like 'method calls' so that the 'this' pointer in the receiver functions can be filtered based upon the types that actually have the method being invoked. This requires much more dynamic filtering than in a language like Java, since properties like 'x' are simply properties that happen to hold functions, and so can be assigned in a first-class manner. Thus, the filtering needs to handle variance in both the types and the values of their properties; this is implemented as multiple levels of abstract object directed side effect equations in the dataflow system.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4535 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-01 02:45:51 +00:00
dolby-oss
5f992d2ef6
avoid hitting IR cache unnecessarily
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4524 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-21 13:47:44 +00:00
dolby-oss
c187dcaeb0
add source-level names to dump of IR
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4522 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-21 13:46:11 +00:00
msridhar1
ec7be6dc39
Got rid of IntegerContextItem and BooleanContextItem and replaced them
...
by uses of ContextItem.Value.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4514 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:27:16 +00:00
msridhar1
ddfb019e68
optimization in dispatch logic. further optimization possible, and more
...
comments still needed
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4512 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:47 +00:00
msridhar1
965896c210
add general recursion bounding via an additional context selector. Also, completely eliminate dependence on contexts for correct pointer analysis with new lexical scheme.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4496 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:21 +00:00
msridhar1
92d8dc1e3d
Revert "refactor context selectors: extract delegation into ComposedContextSelector"
...
This reverts commit 7ff1219c5baed388a82d14fcf81d2b1f456c4e95. That commit broke
a dojo test, and I'm not sure why.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4491 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:21:18 +00:00
msridhar1
edd300cf00
refactor context selectors: extract delegation into ComposedContextSelector
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4489 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:20:26 +00:00
msridhar1
a34b8967e1
Additional timeout check in SSAPropagationCallGraphBuilder.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4473 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:17:08 +00:00
dolby-oss
4c6d062dbb
blunt force trauma to CAst frond end:
...
1) Structural changes in the AstTranslator to allow retranslation and generation of custom IR. This is mostly moving state from the translator itself into the context.
2) Some refactoring to share some AST generation code across the Java and JavaScript front ends.
3) Switching to the latest Rhino, release 1.7R3; this is a pervasive change to the JavaScript Rhino translator, since it involves switching to the new AST interface in Rhino.
4) Common code to, as an option, translate Do-style loops by replicating the loop body. This allows the use of CAstNode.LOOP forms for such loops.
5) Some bug fixes to the mechanisms of the CAstRewriter to handle weird control flow cases.
6) An example of retranslation to specialize JavaScript methods based on how many arguments they receive at call sites.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4425 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-27 20:15:33 +00:00
msridhar1
5a3470a674
remove debug print
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4424 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-24 16:28:57 +00:00
msridhar1
7630cd79c9
Revamped support for reading Java annotation information from .class files.
...
The code should handle all cases now, and the APIs are improved.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4422 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-11 17:11:59 +00:00
msridhar1
2f86937ae1
some more diagnostic code in TestUtil, related changes
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4399 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:46:27 +00:00
msridhar1
9e386ff310
re-implement delegating context, to ensure we have a proper equals() and hashCode()
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4398 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:46:08 +00:00
msridhar1
6a2dc42d49
fix a couple of NPEs
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4338 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:28:02 +00:00
msridhar1
14c4cdb251
bug fix in SSAPropagationCallGraphBuilder: allow empty points-to sets for interesting non-receiver arguments
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4335 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:27:03 +00:00
msridhar1
33378fd071
Added option to warn about big points-to sets.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4330 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:25:20 +00:00
msridhar1
8ce7db97ea
more global object handling; needs documentation
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4324 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:23:56 +00:00
msridhar1
306bc98bf5
progress on modeling the global object
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4321 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:22:58 +00:00
msridhar1
4edec7f18e
remove unused imports
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4297 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-05 20:10:34 +00:00
msridhar1
d326e5e9f2
bug fixes
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4292 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-12-28 17:03:55 +00:00
msridhar1
59e46916ce
Generalize certain IR data structures to be less Java-specific. Generalize annotations code to allow for reading annotation parameters. Various other fixes
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4290 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-12-28 17:03:27 +00:00
Martin Mohr
51eefa355b
find java runtime lib if property has not been set
2011-11-22 14:26:56 +01:00
Juergen Graf
bf923dc2b5
progressmonitor can now be used to cancel operations
2011-11-22 14:26:30 +01:00
Juergen Graf
8494f98106
Merge branch 'wala' into master
2011-11-09 13:03:31 +01:00
sjfink
d75e4455c6
delete obsolete comment
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4285 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-10-26 13:53:29 +00:00
Juergen Graf
0f66936790
Merge branch 'wala' into master
2011-10-26 14:34:59 +02:00
sjfink
c274ecacc9
bug fix: deal with case when app-specific context selector and interpreter are null.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4284 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-10-25 13:55:32 +00:00
Juergen Graf
44a3dae093
Merge branch 'wala' into master
2011-10-21 15:15:20 +02:00
msridhar1
2723084bac
ran into a method with 30 parameters. hopefully this is enough?
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4278 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-09-25 21:52:20 +00:00
Juergen Graf
fa5a0aa452
mod ref field access analysis
2011-09-20 15:50:39 +02:00
Juergen Graf
c240d41b4f
Merge branch 'wala' into master
2011-08-16 22:16:32 +02:00
dolby-oss
7a6af352b9
moved IR-independent visualization of graphs to util project
...
added DFS path find that finds all paths in sequence rather than just one
moved the WalaException out of warnings subpackage
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4257 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-08-16 16:51:11 +00:00
Juergen Graf
62820d2fba
create default properties if no wala.properties file exists
2011-07-29 14:06:14 +02:00
Juergen Graf
26d65e9f9c
added callgraph pruning to remove less relevant library methods
2011-07-28 12:08:59 +02:00
Juergen Graf
6877158843
load scope file from jar as fallback
2011-07-27 13:44:38 +02:00
Juergen Graf
efb729e038
Merge branch 'wala' into master
2011-07-27 01:15:29 +02:00
msridhar1
82d751a814
try to fix javac compile errors
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4226 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-22 17:06:09 +00:00
msridhar1
a6a8188244
change getPointerKeys() to return an Iterable, so we're not forced to construct a Collection (can cause a space blowup for a very large points-to relation)
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4224 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-22 15:53:33 +00:00
Juergen Graf
496a98c4bd
add possiblility to search existing types without creating new ones
2011-07-14 21:35:46 +02:00
Juergen Graf
f5ac0c543f
Merge branch 'wala' into master
2011-07-12 19:50:39 +00:00
msridhar1
fbfdb32b11
expose a field to subclasses
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4207 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-02 15:40:33 +00:00
msridhar1
ee3c8f3847
Thread a progress monitor through parts of pointer analysis constraint generation, so we can cancel if it's taking too long
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4193 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-30 18:59:29 +00:00
msridhar1
f8197b4f2c
patch to fix FileProvider bug from Marcel Bruch
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4177 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-27 19:50:33 +00:00
Juergen Graf
f8d6f5b917
Merge branch 'wala' into master
2011-05-27 12:25:53 +02:00
Juergen Graf
b84657d1a9
add some new classes from wala
2011-05-26 16:43:36 +02:00
dolby-oss
4da02a9125
Changes to extend supported context sensitivity to CPA-style:
...
1) extend ContextSelector interface to allow it to specify parameters of interest
2) extend filtering mechanism at call sites to allow CPA-style filtering when requested by contexts
3) various related fixes and extensions:
a) removed redundant code to handle dispatch for JavaScript, so now it shares the core mechanism
b) tighten types for operators that take an array of args - now the array is T[] at the cost of a few array allocation methods
c) a bit more support for empty int sets
d) void function objects
e) bug fixes for lexical scoping support, and adaptation to work with core dispatch mechanism
f) example of CPA-style sensitivity to handle nastiness in a JavaScript for(.. in ...) loop
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4150 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-27 13:58:56 +00:00
msridhar1
53294397f8
javadoc, formatting
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4128 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-20 22:31:27 +00:00
dolby-oss
9006fce690
some bug fixes to CAst IR generation, especially in handling exceptions
...
cleanup of how JDT analysis engines work, to make using the JDT front end more modular
bug foxes to JavaScript handling, most notably fixing scoping of functions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4123 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-13 16:27:15 +00:00
Juergen Graf
a76f93a28c
Merge branch 'wala' into master
2011-04-13 13:02:15 +02:00
msridhar1
2b87f070a7
make getBCInfo() synchronized to prevent duplicate code loading by different threads
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4113 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-12 19:20:13 +00:00
Juergen Graf
7c518d1867
added instruction index field to SSAInstruction (javascript not working atm)
2011-04-12 19:49:06 +02:00
Juergen Graf
8c04179fcc
remove unused class of exception analysis
2011-04-12 17:02:39 +02:00
Juergen Graf
2d3052bede
intraprocedural nullpointer exception analysis
2011-04-11 16:28:51 +02:00
Juergen Graf
5c43668553
Merge branch 'wala' into master
2011-04-11 16:40:48 +02:00
Juergen Graf
bef3480898
fix for empty cfg entry node was incomplete... fix fixed ;)
2011-04-06 14:22:11 +02:00
dolby-oss
fc366d728e
added notion of source modules, which are presumed to be text files
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4083 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-04 14:58:58 +00:00
dolby-oss
3d95532603
added type parameter
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4082 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-04 14:58:15 +00:00
msridhar1
857e456806
organize imports
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4081 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-03 04:08:05 +00:00
Juergen Graf
cbb9f421a9
advanced sythetic instructions for initial points-to/aliasing set up
2011-03-30 13:03:16 +02:00
Juergen Graf
fe5d5cdcb2
custom caching to guarantee: method.getIR() == method,getIR() - also for contained IR statements
2011-03-30 13:03:16 +02:00
Juergen Graf
56cdf169b0
distinguish control deps from data deps in the pdg
2011-03-30 13:03:16 +02:00
Juergen Graf
baf67a8dbb
setter for native spec (.xml) file
...
added fallback: load xml from filesystem if loading from jar does not work
2011-03-30 13:03:16 +02:00
Juergen Graf
211e542ee5
entry and exit nodes in every cfg
2011-03-30 13:03:16 +02:00
Juergen Graf
b9cd802759
setter for pointerkey factory
...
public phi nodes
2011-03-30 13:03:16 +02:00
Juergen Graf
442975b603
implement hasEdge for exploded cfg + fix entry nodes with instruction
2011-03-30 13:03:16 +02:00
Juergen Graf
1a67e8817c
remember unresolved classes
2011-03-30 13:03:16 +02:00
Juergen Graf
47711fd310
read enhanced bytecode postions from class attributes
2011-03-30 13:03:16 +02:00
Juergen Graf
d7ebb57ee6
add substasks to progressmonitor
2011-03-30 13:03:16 +02:00
Juergen Graf
e2a0abc119
only run dot-exe if the property is set
2011-03-30 13:03:16 +02:00
msridhar1
9aa9187edc
fix for CFG bug reported by Benedikt N on mailing list, plus test case
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4077 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-03-24 19:41:46 +00:00
msridhar1
e33b9d3861
fix comment
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4075 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-03-21 16:03:36 +00:00
msridhar1
06b652d1fb
fix bug reported by Benedikt Nordhoff on mailing list: for cases where an enclosing exception handler catches all exception types, don't add an exceptional edge from a throw instruction to method exit.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4057 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-02-08 23:41:03 +00:00
sjfink
3a49f17ebc
update code formatting for Eclipse 3.6
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4048 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-02-03 15:14:47 +00:00
msridhar1
0eb5fcb158
check for null argument
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4043 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-24 22:40:50 +00:00
dolby-oss
5a042f3f69
tighten typing for NumberedGraph, using covariance as allowed as of java 1.5
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4042 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-20 16:46:53 +00:00
sjfink
129ce380a4
migrate more stuff to wala.util
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4040 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 22:57:35 +00:00
sjfink
5bd9c18b20
migrate more stuff to wala.util
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4039 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 22:41:32 +00:00
sjfink
1c8924f766
migrate more stuff to wala.util
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4038 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 22:23:29 +00:00
sjfink
baa8690314
migrate more stuff to wala.util
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4037 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 22:21:08 +00:00
sjfink
16e9c0fa67
migrate more stuff to wala.util
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4036 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 22:21:01 +00:00
sjfink
6bd8363503
refactor to isolate core utilities from dependence on Eclipse IProgressMonitor
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4034 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 22:06:58 +00:00
sjfink
fa825de846
refactoring of fixpoint API
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4033 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 21:43:18 +00:00
sjfink
d7d6b048b6
refactoring and moving the launcher utilities to wala.util
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4032 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 21:31:29 +00:00
sjfink
6416445fe4
refactor to move stuff into wala.util
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4031 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 21:13:34 +00:00
sjfink
e8da3e3d8d
move some functionality to wala.util
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4030 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-17 20:56:35 +00:00
msridhar1
b3df24132f
move BitVectorKillAll to wala.core
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4023 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-01-03 21:09:21 +00:00
msridhar1
1180d7e71b
add ability to return exit value for spawned process
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4021 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-12-21 20:49:05 +00:00
msridhar1
88eaba4ee7
add models for System.getProperty() methods to fix bug reported by Ravi Chandran on mailing list
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4002 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-23 17:39:19 +00:00