Commit Graph

20 Commits

Author SHA1 Message Date
Manu Sridharan 16a0e02fa0 add utility methods for creating n-CFA call graph builders 2013-05-10 20:55:13 -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
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
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 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 67c81af1d5 tweak comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3673 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-12 15:23:43 +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 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 3331cd24f0 nuke support for "dispatch bound" call graph construction heuristic
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2349 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2008-01-10 22:05:32 +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 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 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 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 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 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