Commit Graph

1736 Commits

Author SHA1 Message Date
msridhar1 a28f0df3b7 change resolveField() to pass type when resolving a field
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4553 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-04-03 22:41:21 +00:00
msridhar1 1d28b2dc26 fix for bug reported by Juergen Graf: handle multiple fields with the same name in a JVM class
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4552 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-04-03 22:26:12 +00: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
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
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
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
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
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
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
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
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
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
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