Commit Graph

237 Commits

Author SHA1 Message Date
Manu Sridharan cb17b24875 organize imports 2013-10-02 14:52:05 -07:00
Julian Dolby aa101e6c25 do not throw error 2013-08-29 10:17:37 -04:00
Julian Dolby 4f13586cc9 clean up: kill dead code 2013-08-29 10:17:10 -04:00
Julian Dolby a9331dca6f avoid using files since the automated tests get things out of jars 2013-08-07 16:44:21 -04:00
Julian Dolby e89d0acf16 reuse util support for building scopes 2013-08-07 15:17:02 -04:00
Julian Dolby d528c16b0f refactoring to integrate field-based cg builders with Eclipse-based
JavaScript front end
2013-08-05 14:35:41 -04:00
Julian Dolby beab92e359 Fixed bugs in the front end handling esoteric cases of weird control
flow.

added support for JavaScript projects read from Eclipse that are based
on HTML files as well as JavaScript files
2013-07-30 14:04:08 -04:00
Manu Sridharan 0595f0202c update manifests for compatibility with Eclipse Kepler 2013-07-16 11:33:40 -07:00
Manu Sridharan 05a9961108 add missing @Override annotations; no semantic change 2013-06-10 14:37:19 -07:00
Manu Sridharan 918f887d3a update copyright header 2013-06-10 14:24:03 -07:00
Manu Sridharan 547f0d276a more sample code 2013-06-10 14:22:12 -07:00
Manu Sridharan 21d392e2bd example driver to print IR for all methods in a script 2013-06-10 14:22:11 -07:00
Manu Sridharan f268ca91fd remove precise lexical config options; we want this to just be on 2013-06-07 09:48:00 -07:00
Manu Sridharan b2d108daad fix compile error 2013-06-06 20:03:39 -07:00
Manu Sridharan d4b252ad51 kill NEW_LEXICAL flag 2013-06-06 20:02:41 -07:00
Max Schaefer ef0cf8589d Forgot to set translator factory; fixed. 2013-06-07 08:29:24 +08:00
Max Schaefer 3adaaf50ee Correlation finder now handles both HTML files and raw JS files as
input, doesn't use WebPageLoaderFactory to create CAst anymore.
2013-06-07 08:29:24 +08:00
Max Schaefer 3d974b8313 Temporary commit; things are broken, but I need to switch back to master for a bit. 2013-06-07 08:29:24 +08:00
Manu Sridharan 591215ebd6 delete files on exit by default 2013-06-06 13:45:34 -07:00
Max Schaefer fcd28ee419 More refactoring of ParameterNameContextSelector, which is now called
PropertyNameContextSelector.
2013-06-03 14:13:37 +08:00
Max Schaefer 3a0741571f Some cleanup in ForInContextSelector; now renamed to
ParameterNameContextSelector.
2013-06-03 12:18:29 +08:00
Max Schaefer 61c48fe1bc Fixed failing test case for field-based call graph construction:
visitJavaScriptPropertyRead/Write need to be able to handle static
property writes (weren't those encoded differently before?).
2013-05-29 08:41:55 +08:00
Manu Sridharan cd2e3abe89 get JavaScript tests running under Maven 2013-05-28 16:39:33 -07:00
Manu Sridharan ed05815698 rename test class 2013-05-28 11:52:29 -07:00
Manu Sridharan 7064233320 remove print 2013-05-22 16:41:27 -07:00
Manu Sridharan 54593a8f46 add code for field-based call graph 2013-05-22 16:04:25 -07:00
Manu Sridharan 3b1889121b add missing copyright headers 2013-05-22 15:39:19 -07:00
Marcel Bruch 7c2d18cd58 [releng] added preliminary maven tycho build support 2013-04-29 13:13:22 +02:00
Manu Sridharan 00eb1d2bd2 Set all projects to build against Java 6; no semantic change. Fixes #20 2013-04-10 16:01:27 -07:00
Manu Sridharan 355bf4ad69 update ignores 2013-04-10 10:42:33 -07:00
Manu Sridharan dae0b33233 Merge branch 'master'
Conflicts:
	com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShapeRhino.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimplePageCallGraphShapeRhino.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestSimplePageCallGraphShapeRhinoJericho.java
	com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/vis/JsViewerDriver.java
	com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java
	com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java
	com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/CAstEntity.java
2013-04-09 15:56:47 -07:00
Manu Sridharan 11c6619c7f Variety of changes to JS front end.
- crash fixes
- small enhancements to prologue and preamble
- tighter handling of timeouts during CG construction
2013-04-09 15:47:22 -07:00
Julian Dolby 87b856928c fixes for handling parse errors in JS and HTML 2013-03-01 10:07:20 -05:00
Manu Sridharan bf6b6bd685 renamed classes to make relationship to mod-ref analysis clearer 2013-01-04 09:35:04 -08:00
Manu Sridharan 26e7eb50ba Code to compute transitive lexical accesses of methods.
The TransitiveLexicalAccesses class computes the lexical variables
read by a CGNode and its transitive callees.  Also, a basic test case.
2013-01-03 15:58:07 -08:00
dolby fae5c86114 fixes for users of JDT interfaces, such as Miniatur/MemSAT 2012-10-01 13:11:10 -04:00
Manu Sridharan a87d486b42 export another package 2012-09-19 11:45:31 -04:00
Manu Sridharan 24eb803211 organize imports; no semantic change 2012-09-04 16:24:37 -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
Manu Sridharan 931e2b8b4b remove Mozilla page tests 2012-08-29 14:41:02 -07:00
dolby 319eacc529 merge changes and changes for atomic sets work 2012-08-29 16:35:34 -04:00
Manu Sridharan 7147e6c86e update rhino regression launcher for new project structure 2012-08-28 13:06:34 -07:00
Manu Sridharan 419d1d50cc Merge branch 'github_master' and remove Eclipse dependencies.
Specifically, rewrite ProgressMaster to not depend on Eclipse, and move
to com.ibm.wala.util.  Now, we can use timeout-based code in packages
without introducing an Eclipse dependency.
2012-08-28 12:39:52 -07:00
Julian Dolby 4a850a9510 added the com.ibm.wala.ide.jdt project 2012-08-21 18:52:09 -04:00
dolby 72e8dc9098 reorganize stuff for using JavaScript stuff from Eclipse 2012-08-21 09:48:53 -04:00
Manu Sridharan b940e9dc0a add edgeExists CLI option to check if some edge exists in the call graph 2012-07-26 15:26:59 -07:00
Manu Sridharan eb0524c634 tests were failing when run as part of the suite 2012-07-20 16:27:17 -07:00
Max Schaefer b4172d5920 Test for break statements that break out of a non-loop statement. This
is currently not handled correctly by the translation to CAst.
2012-07-05 15:51:04 -04:00
Max Schaefer 3fe9bedf95 Can now pass a JS file to HTMLCGBuilder, it will create a simple wrapper
HTML file.
2012-07-05 15:50:02 -04:00
dolby 81c16d8121 ignore junk 2012-07-02 13:59:50 -04:00
dolby 4b3cba710d changes from upstream 2012-06-29 15:47:54 -04:00
dolby b6ee356641 tests for source mapping 2012-05-11 15:03:10 -04:00
Manu Sridharan c116f16823 got code to compile again, and wala.core regression tests pass 2012-04-16 22:30:03 -04:00
Manu Sridharan 2edb070437 changed FileProvider to have instance methods 2012-04-16 14:57:14 -04:00
dolby-oss e82ef4a91f don't require 1.5 VM
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4525 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-21 13:49:05 +00:00
msridhar1 1ae581819f add one level of caller-site sensitivity for call() and apply(); experimental
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4513 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:27:03 +00:00
msridhar1 d1974d8b54 new context selector that just checks for recursion instead of bounding it
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4509 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:14 +00:00
msridhar1 5f2733bd0e fix some compile errors
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4501 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:32 +00:00
msridhar1 d68e9ebbd0 add -reachable argument
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4498 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:46 +00:00
msridhar1 e9d2ad598a move recursion bound selector to HTMLCGBuilder; a temporary solution
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4497 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:23:37 +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 954a1f091b more work on precise lexical configuration
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4495 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:22:55 +00:00
msridhar1 c861bfed80 introduce CGBuilderType enum, related refactorings
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4493 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:22:14 +00:00
msridhar1 a3826f23a8 refactoring: rename some Util classes
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4492 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:21:59 +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 fa3264bade Utility class for building call graphs of HTML pages.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4488 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:19:57 +00:00
msridhar1 b8e7e31b6f Pulling in HTMLCGBuilder from lexical-again branch.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4448 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:34:24 +00:00
dolby-oss 79946e98d6 purported fixes for Max's latest bugs (with some tests)
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4433 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-07 13:50: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 8b547b4812 Split up ForInLoopRewriter in preparation for merging changes back into
open-source WALA. The extraction code is now in com.ibm.wala.cast.js,
with some more general stuff moved to com.ibm.wala.cast and
com.ibm.wala.util. The tests are in com.ibm.wala.cast.js.test and
com.ibm.wala.cast.js.rhino.test. ForInLoopRewriter itself only contains
the framework specific tests and the copies of the frameworks
themselves.

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4418 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:52:26 +00:00
msridhar1 c18cc405f7 fix disabling of call / apply for ajaxslt test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4408 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:48:53 +00:00
msridhar1 b127720692 move launcher
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4311 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:20:00 +00:00
msridhar1 05f0d27d45 move code related to validator.nu HTML parser to a separate project
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4296 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-05 19:58:35 +00:00
msridhar1 91628b4d1b another failing test
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4187 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-22 16:04:48 +00:00
msridhar1 da183699ae add failing test case
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4186 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-06-22 13:53:47 +00:00
dolby-oss 3e573a992d upgrades to lexical soping implements to address some performance issues
fixes to HTML model to capture use of local vars as window state in scripts


git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4176 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-23 16:27:07 +00:00
msridhar1 d95f33f580 javadoc. refactoring and renaming of ScopeMap.scan() method. add -ea to launcher.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4164 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-05-02 22:11:37 +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
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
dolby-oss e7ac8c25fe move test with not-quite-correct JavaScript code to the Rhino test, since Rhino handles it anyway
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4106 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-05 16:42:49 +00:00
dolby-oss 3c35edb899 updates to processing of Web pages:
1) adopted the code from Rational for HTML handling
    i) extended it to integrate better source mapping into IR
    ii) integrated fixes from the old html processing to collect more info on forms
    iii) added some copyright comments
  2) updated version of jericho
  3) added support for nu.validator for html5
  4) added script to fetch html parser jars, and removed binary jar
  

git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4093 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-04-04 15:27:43 +00:00
yinnon_haviv 02842ff765 Adding Generators (Extracting js source from html) that support line numbering. Currently used only from within the JsViewerDriver.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3957 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-29 15:29:55 +00:00
yinnon_haviv cea9891400 adding launcher to JsViewerDriver
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3955 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-28 17:24:39 +00:00
yinnon_haviv 9cae049830 Added viewer for CHA/CG/PA for Java/JavaScript.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3954 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2010-09-28 17:11:12 +00:00
msridhar1 8b41d7fc88 update to JUnit 4
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3747 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-27 23:21:22 +00:00
dolby-oss 063d23adce rhino-specific portions of java script analysis tests
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3729 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2009-07-16 18:00:08 +00:00