Commit Graph

21 Commits

Author SHA1 Message Date
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 81c12b97af cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4189 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-30 15:41:40 +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
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 957cb2b8ca deprecate Trace
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3432 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-09 20:31:14 +00:00
sjfink 300568f339 delete PointerFlowGraph
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2612 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-24 00:05:54 +00:00
dolby-oss b648bd3ceb committed patch from Evan Battaglia to support outer.new inner() form. Thanks!
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2591 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-18 15:17:16 +00:00
sjfink 07c0f9e485 clean up TypeInference API
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1908 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-10-19 14:39:15 +00:00
sjfink a193724b5f adapt to wala.core IteratorPlusOne change and clean up some generics
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1708 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-08-31 23:51:15 +00:00
yahave 8d5172fbc8 fixed bounds of iteration over symbol table using getMaxValueNumber. Loops should be iterating all the way to the MaxValueNumber returned (i.e., <=).
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1653 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-08-22 15:33:46 +00:00
dolby-oss d830347245 make enclosing object keys usable by others
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1579 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-08-07 13:47:16 +00:00
sjfink 3026eda8a3 decouple IR caching from AnalysisOptions with a new AnalysisCache object
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1517 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-20 15:20:06 +00:00
sjfink 192f06a387 massive overhaul of Warnings management
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1384 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 22:08:34 +00:00
sjfink f6edb9f1d3 misc. cleanups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1280 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-15 14:01:32 +00:00
dolby-oss cb8692477b support for cross-language call graphs
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1218 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 03:37:03 +00:00
sjfink c3c66d8e2b just format
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@943 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-04-12 14:54:43 +00:00
dolby-oss 66cd369ee7 Fix type inference for + operations that involve strings
skip synthetic code when trying to deal with enclosing types

fixes to invoke polyglot better so as to use its Unicode support

use constants directly when accessing fields said by polyglot to be constant

support static initializers

use exclusions file in the source analysis engine, if one is provided


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@840 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-03-12 02:06:00 +00:00
dolby-oss 06c5431ba0 fixes to handling of enclosing objects for inner classes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@703 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-09 18:19:13 +00:00
sjfink 0cbace78e1 miscellaneous minor cleanups. eclipse build stuff. import statements.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@678 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-08 19:07:47 +00:00
dolby-oss 55e7a45e53 first cut at handling inner classes properly; moving around of code for analysis engines to make them provide a default way to build a call graph
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@657 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-07 18:51:19 +00:00
dolby-oss c4b9499bd2 Initial contribution of core script analysis code
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@618 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-02-02 17:20:09 +00:00