Commit Graph

311 Commits

Author SHA1 Message Date
Michael Heilmann efdd337dee add and enable GetMethod context, interpreter and selector and associated unit tests 2014-05-20 13:12:06 +02:00
Julian Dolby 3e55f0b370 new graph implementation for incremental graph extension 2014-05-20 13:11:19 +02:00
Julian Dolby 50c4ae2faa try new way to find classpath entries for travis ci 2014-05-20 13:11:16 +02:00
Julian Dolby 5b22c3dba4 avoid running on travis for now 2014-05-20 13:11:12 +02:00
Julian Dolby d0f099edb6 try to find jar file for travis tests 2014-05-20 13:11:07 +02:00
Julian Dolby eb8f94c61c try to find jar file for travis tests 2014-05-20 13:11:05 +02:00
Julian Dolby 8f376ffe71 rename dynamic cg test 2014-05-20 13:10:54 +02:00
Julian Dolby dbd9c60d4f type generalization 2014-05-20 13:10:22 +02:00
Julian Dolby 51ea9dee0e test new mechanisms 2014-05-20 13:09:19 +02:00
Julian Dolby 2750f8e67b 1) use less verbose instrumentation to reduce problems with methods
getting too big
2) handle issues with exceptional control flow not being followed
properly sometimes
2014-05-20 13:09:13 +02:00
Julian Dolby 837cb5aee5 1) compress dumped call graph edges
2) make instrumentor preserve the names of jar entries and classes as
they are input, rather than recomputing class names when writing the
output jar.  This usually makes no difference, but can preserve broken
structures when the input jar file has mismatches between class names
and its entry names.
2014-05-20 13:09:07 +02:00
Michael Heilmann 63ed63e7fa add test for GetMethod context, interpreter and selector 2014-05-20 13:08:32 +02:00
Julian Dolby a3a3e7fbe7 new graph implementation for incremental graph extension 2014-03-17 22:09:58 -04:00
Julian Dolby b04a3f9b35 try new way to find classpath entries for travis ci 2014-03-17 10:09:48 -04:00
Julian Dolby 371695506d avoid running on travis for now 2014-03-16 22:29:54 -04:00
Julian Dolby b422fd500e try to find jar file for travis tests 2014-03-16 22:14:36 -04:00
Julian Dolby 95c13203de try to find jar file for travis tests 2014-03-16 22:01:02 -04:00
Julian Dolby bfd999e03b rename dynamic cg test 2014-03-16 18:04:21 -04:00
Julian Dolby 4c25c40789 type generalization 2014-02-08 22:52:19 -05:00
Julian Dolby b5627bbe81 test new mechanisms 2014-01-07 22:36:23 -05:00
Julian Dolby 1914f016dd 1) use less verbose instrumentation to reduce problems with methods
getting too big
2) handle issues with exceptional control flow not being followed
properly sometimes
2014-01-07 17:35:44 -05:00
Julian Dolby 1259ab929f 1) compress dumped call graph edges
2) make instrumentor preserve the names of jar entries and classes as
they are input, rather than recomputing class names when writing the
output jar.  This usually makes no difference, but can preserve broken
structures when the input jar file has mismatches between class names
and its entry names.
2014-01-03 10:10:03 -05:00
ksrinivs bcc0d23c54 minor fixes 2013-12-03 16:01:28 -05:00
ksrinivs 639c876fe5 partial coloring 2013-12-02 14:42:51 -05:00
ksrinivs 3d91075842 partial coloring 2013-12-02 14:37:28 -05:00
Julian Dolby b057e35e2c for now, ignore tests impacted by library change 2013-11-26 19:26:52 -05:00
Julian Dolby 7948f3b9ae merge 2013-11-26 16:25:43 -05:00
ksrinivs c1a923d0ba allow partial coloring 2013-11-26 15:04:09 -05:00
Julian Dolby dedbc2d443 coloring now requires numbered graphs. a performance hack. 2013-11-21 14:27:27 -05:00
Julian Dolby bdc742f558 shrike cg tests 2013-11-14 21:48:04 -05:00
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
Manu Sridharan b984760100 support for reading method parameter annotations from Java bytecodes 2013-06-28 11:44:47 -04:00
Julian Dolby 080325b5f6 merge 2013-06-25 11:57:37 -04:00
Manu Sridharan 38d0c3cc12 re-enable test 2013-05-27 11:07:32 -07:00
Manu Sridharan 119fd841af more manifest hacks. Also, temporary disable CG IO test 2013-05-27 10:35:55 -07:00
Manu Sridharan 9bc5bcbb3c Disable certain tests when analyzed classes are in a jar file.
These tests create FileModules for certain class / source files,
and hence assume those files are sitting in the filesystem.  We
should come up with a better fix here.
2013-05-26 14:45:50 -07:00
Manu Sridharan 878cfa615d changes to get tests passing on Java 7 2013-05-26 10:07:46 -07:00
Manu Sridharan 3b1889121b add missing copyright headers 2013-05-22 15:39:19 -07:00
Julian Dolby 310d0fff25 changes to ease use of WALA from an executable jar. also some very
basic support for GXL, a graph format used by some software engineering
tools.
2013-05-15 13:36:30 -04:00
Manu Sridharan c0e3cb9831 fix for handling of static methods in ContainerContextSelector 2013-05-14 14:17:26 -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 d149ca2c73 Revert fix for tests; we need to figure out the right fix here.
This reverts commit cab3c6c0c4.
2013-05-02 10:55:45 -07:00
Cosmin Radoi edbdf989a9 right classloader for call graph tests 2013-04-29 13:13:23 +02:00
Manu Sridharan 9549da9954 read runtime-visible annotations for fields 2013-04-08 13:50:26 -07:00
Julian Dolby 321e925660 work on CHA 2013-04-03 12:12:43 -04:00
Manu Sridharan ba228963bf better handling of missing bytecodes
In some cases, class files will have non-abstract methods with no
bytecodes (e.g., stubs for compilation purposes).  While such a class
file is invalid, we want to enable clients to handle such an error.
With these changes, Shrike will throw an InvalidClassFileException for
such cases, and WALA's IR construction code will throw a
WalaRuntimeException.
2013-01-21 15:27:13 -08: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 3317c1ccf6 basic compatibility with Java 7 (i.e., don't crash immediately) 2012-08-03 15:41:09 -07:00
dolby 4b3cba710d changes from upstream 2012-06-29 15:47:54 -04:00
Manu Sridharan 2edb070437 changed FileProvider to have instance methods 2012-04-16 14:57:14 -04:00
msridhar1 d81d8569eb fix test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4554 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-04-03 22:43:34 +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
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 cbd8b63142 undo change to SlicerTest
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4291 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-12-28 17:03:42 +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
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 253444a6ad make demand pointer analysis tests less dependent on standard library implementation
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4234 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-25 18:10:31 +00:00
msridhar1 e9199401c9 change to remove time blowup in test on recent Java versions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4231 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-22 21:48:15 +00:00
msridhar1 deddf6ecbe make the condition checked by a couple of tests more specific, to avoid issues with different Java library versions
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4230 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-07-22 21:29:57 +00:00
dolby-oss 15c202f8e6 Welsh-Powell graph coloring
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4180 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-01 21:47:15 +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 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 e3564dce02 change ClassHierarchy to IClassHierarchy
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4076 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-03-21 16:04:45 +00:00
msridhar1 fb10bd4611 uncomment test and indicate why we don't currently run it
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4063 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-03-01 18:15:17 +00:00
msridhar1 c0b30598f4 added another test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4060 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-02-10 00:01:32 +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 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 88eaba4ee7 add models for System.getProperty() methods to fix bug reported by Ravi Chandran on mailing list
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4002 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-23 17:39:19 +00:00
msridhar1 2ed3b05257 bug fix
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3986 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-11-03 17:49:06 +00:00
msridhar1 7a5d3baacd bug fix for CFGSanitizer
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3984 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-20 20:38:44 +00:00
dolby-oss d4ee31ad9e added clear() method to mutable int sets
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3981 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-15 02:10:44 +00:00
dolby-oss 502db2afb9 make some stuff static
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3977 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-11 14:35:08 +00:00
dolby-oss 48ff32f2e3 copyright comment update
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3975 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-11 14:29:47 +00:00
msridhar1 0ca5dc1c0e better fix for PDG bug reported by Ravi Chandran
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3967 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-06 17:03:35 +00:00
msridhar1 029b1fc1fd Fix for bug reported by Ravi Chandran on the mailing list (10/01/2010). Properly add edges from method entry in the PDG
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3965 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-05 18:45:43 +00:00
dolby-oss ed889de199 added Floyd-Warshall all pairs shortest path implementation
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3964 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-10-04 17:27:56 +00:00
msridhar1 cdbaa7a2ac added failing test for type inference regression
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3844 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-05-19 21:09:09 +00:00
msridhar1 460477e074 fix bug in PDG contruction for a case involving infeasible bytecodes; add corresponding test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3843 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-05-17 16:57:52 +00:00
msridhar1 f76602dbfb clean up interface for creating a DemandRefinementPointsTo class, and make the internal ThisFilteringHeapModel package visible
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3827 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-04-30 17:13:14 +00:00
dolby-oss 3c8c5e2059 clean up @author
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3819 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-04-28 19:35:34 +00:00
dolby-oss e0ef61507c fix for 1.6 on mac
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3818 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-04-28 19:35:14 +00:00
dolby-oss b7a6299afb change a test to handle differing heap deps in different versions of the std lib
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3808 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-04-21 14:46:12 +00:00
msridhar1 19bcb326a4 slicer bug fix: properly include the actual call statement (along with various PARAM_CALLER statements) in the set of call statements
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3807 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-04-19 23:03:47 +00:00
msridhar1 9fc5e5f016 one more flows-to test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3767 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-11-19 17:12:21 +00:00
msridhar1 4b34785700 bug fixes for flows-to
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3766 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-11-19 17:09:20 +00:00
msridhar1 24caeb7088 more flows-to tests
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3765 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-11-18 22:15:23 +00:00
msridhar1 f6afa934f8 bug fix for flows-to
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3764 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-11-18 21:53:07 +00:00
msridhar1 65bb454180 added ability to compute "flows-to sets" on demand; initial check-in, needs more testing
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3763 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-11-18 21:22:33 +00:00
msridhar1 24d28210e8 more caching of class hierarchies
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3750 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-28 02:26:03 +00:00
msridhar1 ab47cddadf more speedups
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3749 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-28 01:47:06 +00:00
msridhar1 93a4571961 undo WalaTestCase extending TestCase; dependent projects will have to be switched to JUnit 4. Also, more optimizations.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3742 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-27 22:43:06 +00:00
msridhar1 f8c06cc6ef maintain JUnit 3 compatibility, e.g., for CAst
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3741 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-27 21:14:59 +00:00
msridhar1 105a263cc5 cached class hierarchy to speed things up
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3740 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-27 21:03:33 +00:00
msridhar1 02e7bf2894 switch to jUnit 4
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3739 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-27 20:38:48 +00:00
sjfink 4a80ac1984 tweak comments
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3726 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-13 18:01:00 +00:00
sjfink e39897e619 tweak comment
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3724 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-13 17:58:45 +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
msridhar1 06da9eb3cd another type inference test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3636 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-04 14:03:08 +00:00
msridhar1 a78e1574da add new type inference test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3633 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-06-03 21:09:48 +00:00