Julian Dolby
0ccaae3b2c
pull exclusions file support into util project and then share it with
...
the shrike-based dynamic call graph builder so that static and dynamic
graphs can be built consistently more easily.
2013-11-14 13:02:56 -05:00
Julian Dolby
080325b5f6
merge
2013-06-25 11:57:37 -04:00
Julian Dolby
3015d1c5f9
added container access to ModuleEntry
2013-06-25 11:53:58 -04:00
Manu Sridharan
c0e3cb9831
fix for handling of static methods in ContainerContextSelector
2013-05-14 14:17:26 -07:00
Manu Sridharan
16a0e02fa0
add utility methods for creating n-CFA call graph builders
2013-05-10 20:55:13 -07:00
Manu Sridharan
30686135da
Fix for bug with pi nodes reported by Andreas Sewe
...
We weren't handling the case where the val of the pi instruction
had an implicit points-to set.
2013-05-07 14:43:49 -07:00
Manu Sridharan
1f254e9b74
formatting, fix warnings
2013-04-29 10:12:12 -07:00
Manu Sridharan
f439646cb1
fix potential NPE in AbstractRootMethod.addAllocation()
2013-04-15 08:58:42 +02:00
Manu Sridharan
dae0b33233
Merge branch 'master'
...
Conflicts:
com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java
com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShapeRhino.java
com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimplePageCallGraphShapeRhino.java
com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimplePageCallGraphShapeRhinoJericho.java
com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/vis/JsViewerDriver.java
com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstEntity.java
2013-04-09 15:56:47 -07:00
Manu Sridharan
11c6619c7f
Variety of changes to JS front end.
...
- crash fixes
- small enhancements to prologue and preamble
- tighter handling of timeouts during CG construction
2013-04-09 15:47:22 -07:00
Manu Sridharan
368daf9427
organize imports
2013-04-09 14:16:01 -07:00
Manu Sridharan
a7195852b1
don't cache synthetic method IR / DU in ExplicitNodes
2013-04-09 10:01:19 -07:00
Manu Sridharan
0204a7fead
Merge pull request #15 from cos/cgnode-weakref-ir-defuse
...
use WeakReference so that CGNode.getIR() doesn't hit the cache too often
2013-04-08 14:27:50 -07:00
Julian Dolby
321e925660
work on CHA
2013-04-03 12:12:43 -04:00
Cosmin Radoi
3b48685d1d
use WeakReference so that CGNode.getIR() doesn't hit the cache too often
2013-02-19 15:30:06 -06:00
Julian Dolby
afccdd2189
Annotation support
2013-02-02 21:27:45 -05:00
Manu Sridharan
6ed7b5a88e
javadoc
2013-01-10 09:48:38 -08:00
Manu Sridharan
29c73cea83
Merge branch 'lexical-access-info'
2013-01-09 14:27:14 -08:00
Julian Dolby
9aa474fdb1
1) added InstanceKey.getCreation sites and its implementations
...
2) fixes for issues with keys representing dynamic properties
i) all properties are converted to strings, in an approximation of JS
semantics
3) fix to handling of instance keys representing numbers in binary +;
now it understands that adding constant keys of type Number requires
adding a non-constant Number key to the lval
2013-01-07 20:18:27 -05:00
Manu Sridharan
8ed998a249
extract some generally useful code from ModRef
2013-01-03 15:57:38 -08:00
Manu Sridharan
070e3989cf
fix missing detection of certain static initializer calls
...
Patch from Christophe Foket on the mailing list.
2012-11-27 14:04:00 -05:00
dolby
fae5c86114
fixes for users of JDT interfaces, such as Miniatur/MemSAT
2012-10-01 13:11:10 -04:00
Manu Sridharan
24eb803211
organize imports; no semantic change
2012-09-04 16:24:37 -07:00
Manu Sridharan
56f3d847a5
more conversion to Unix line endings
2012-09-04 15:59:50 -07:00
Manu Sridharan
256cd06460
Convert all Java source files to use Unix line endings; no semantic change
2012-09-04 15:56:05 -07:00
Manu Sridharan
419d1d50cc
Merge branch 'github_master' and remove Eclipse dependencies.
...
Specifically, rewrite ProgressMaster to not depend on Eclipse, and move
to com.ibm.wala.util. Now, we can use timeout-based code in packages
without introducing an Eclipse dependency.
2012-08-28 12:39:52 -07:00
Manu Sridharan
bb2c45803c
Merge branch 'github_master' into internal_merge
2012-08-21 16:57:27 -07:00
Manu Sridharan
bab4777e4c
some (very) basic support for pointer / reference types
2012-08-21 16:56:18 -07:00
Manu Sridharan
3317c1ccf6
basic compatibility with Java 7 (i.e., don't crash immediately)
2012-08-03 15:41:09 -07:00
Manu Sridharan
7aaba4bc5a
Bug fix in dispatch logic + test
...
Due to constant parameters, we can't assume that constraints don't need
to be generated when we've already seen a target at a call site (since
the previous constraints may have only passed certain constant parameter
values, rather than all parameter values). Add a check to handle these
cases correctly.
2012-07-30 12:40:48 -07:00
Manu Sridharan
2299d8a13a
improve caching of receiver values when handling dispatch
2012-07-17 12:11:55 -07:00
dolby
4b3cba710d
changes from upstream
2012-06-29 15:47:54 -04:00
Manu Sridharan
0938354288
Fix for bug reported by Thomas Deuster on mailing list.
...
The issue was that it's possible for multiple invoke instructions with
different actual parameters to be associated with a single CallSiteReference.
In this case, the invariant parameters for each invoke instruction may differ.
2012-05-15 09:40:39 -06:00
Daniel Perelman
abeba01a16
Made CallString's .toString() more informative.
2012-05-14 17:58:29 -07:00
Daniel Perelman
49c00ca231
Made CallStringContextSelector correctly call base's getRelevantParameters().
2012-05-14 17:57:28 -07:00
Daniel Perelman
f049b24934
Added getters used in my code.
2012-05-14 17:55:40 -07:00
Manu Sridharan
c415f3e0fd
Enhanced pointer analysis to reason that arrays known to be of zero length
...
cannot have any contents.
2012-05-09 15:35:54 -06:00
Manu Sridharan
28a351200d
handle invocations of static methods in ReceiverTypeContextSelector (patch from Daniel Perelman)
2012-05-03 16:30:55 -06: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
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
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