Commit Graph

33 Commits

Author SHA1 Message Date
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
msridhar1 b8ecc8d48a nuked ReflectionSpecification
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3832 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-05-12 17:19:54 +00:00
sjfink a0efbee8ff Major refactoring to introduce com.ibm.wala.ide. Many related changes and patches from Marcelo Paternostro.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3693 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-22 15:06:12 +00:00
sjfink b1ceb767cb tweak comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3674 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-12 15:25:26 +00:00
sjfink 829145e97b Nuke ClassHierarchyException from IClass.getSuperclass()
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3539 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-04-28 19:52:34 +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
msridhar1 1b17786512 when reflection handling is disabled in the AnalysisOptions, disable stuff like handling of string constant arguments to reflective methods, etc.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3209 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-02-03 20:38:47 +00:00
sjfink 4b5795575a fix bug 2491971 : enforce that first delegate to DelegatingSSAContextInterpreter is non-null.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3156 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-01-07 15:37:30 +00:00
sjfink 5021e63f29 nuke ResolutionFailure
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2737 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-04-01 13:31:52 +00:00
pistoia 04cab258c1 Added support for interrupting the construction of the call graph after a configurable maximum number of nodes is reached.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2677 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-03-05 06:24:51 +00:00
sjfink 745fd7d5a4 Simplify MethodTargetSelector and ContextSelector interfaces; delete optimizations based on allSitesDispatchIdentically and mayReturnSyntheticMethod.
Also some Cast bug fixes.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2656 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-03-03 21:32:45 +00:00
sjfink 84d0253841 new logic to interpret Class.newInstance() on a class constant, such as generated by forName(String constant).
Thanks Marco.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2575 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-13 18:49:56 +00:00
sjfink bceae49558 enhance reflection support to evaluate Class.forName() on a string constant.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2542 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-02-05 19:09:23 +00:00
sjfink 1654d52b66 delete obsolete Malleable
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2443 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-01-24 21:50:02 +00:00
sjfink c5caf88def significant refactoring and generalization of instance keys and CFA builders
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2284 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-01-04 18:24:36 +00:00
sjfink bb1fd3dc3f 1. delete obsolete benign.xml
2. more accurate model of array copy
3. bug fix in subtype test for class hierarchy
4. bug fix in OTF call graph fix point iteration
5. bug fix for RTA and ClassNotFoundException.
also misc. minor cleanups

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2074 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-11-29 04:01:25 +00:00
sjfink 098ab6e07d bug fixes and cleanup of TypeBasedPointerAnalysis
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1959 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-10-26 14:53:39 +00:00
sjfink eb91983f53 lots of new generics for fixed point solver hierarchy
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1694 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-08-31 21:38:28 +00:00
sjfink 59368d41ac decouple IR caching from AnalysisOptions with a new AnalysisCache object
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1520 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-20 15:20:41 +00:00
sjfink fd1a1d4cae restructure to allow CGNodes to dwell in more than one CallGraph. lift some functions up from CGNode to CallGraph
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1422 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-11 16:24:58 +00:00
sjfink 5eb76541f0 massive overhaul of Warnings management
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1382 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-07-06 22:08:13 +00:00
sjfink b0d31d38cb remove some unnecessary IClassHierarchy parameters
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1254 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-06 20:15:37 +00:00
dolby-oss 0ed8d96d55 Changes to allow cross-language call graphs. The three biggest changes are as follows:
1) The visitors nested in the SSAPropagationCallGraph have become static classes so that they can be reused in a delegation pattern for the cross-language call graph builder.
2) The ClassHierarchy is now encapsulated behind an IClassHierarchy interface to allow for a CrossLanguageClassHierarchy that delegates to a set of child hierarchies, one for each language.  The internals of the ClassHierarchy are almost entirely unchanged
3) There is now a new Language interface in com.ibm.wala.classLoader, and all IClassLoader objects have to know what language they load for.  This language object now encapsulates a few language-specific options that were previously hacked into the AnalysisOptions object.


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1212 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-06-01 03:26:18 +00:00
sjfink 9c58d8e2a8 change some Iterators in API to Collections
remove some unnecessary WarningSet parameters

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1208 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-31 02:38:49 +00:00
sjfink ea3caa1e8a mostly clean up old comments.
also rename InferGraphRootsImpl to InferGraphRoots

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1200 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-30 19:05:23 +00:00
sjfink fdb7a17af3 add @Overrides annotations and nuke unnecessary casts
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1197 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-30 15:16:05 +00:00
sjfink f2f40b3d4e more argument checking
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1154 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-21 16:04:27 +00:00
sjfink b0598a95f4 more argument checking
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1133 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-15 19:35:57 +00:00
sjfink 4acf542744 validate some arguments; throw IllegalArgumentExceptions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1119 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-15 03:15:05 +00:00
sjfink 29a7b9c35d feature 1717405: cleanup MemberReference.getDeclaringClass() API
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@1107 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-05-14 17:30:49 +00:00
sjfink 97c9efd313 add new FakeWorldClinitNode as a home for calls to class initializers
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@602 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2007-01-24 16:32:48 +00:00
sjfink df97f42b7e attempt to introduce tags and trunk
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@490 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2006-11-22 17:38:46 +00:00