Julian Dolby
2cbd5e7985
make class abstract to stop it being run
2014-07-11 12:18:23 -04:00
Julian Dolby
3910608d60
JavaScript slicer support
2014-07-11 11:55:02 -04:00
Julian Dolby
dd3124479e
allow control flow in induced cfgs, and various related fixes
2014-07-08 14:44:06 -04:00
Julian Dolby
5c0285c410
fixes to source variable name tracking, and new test to verify fix
2014-07-01 21:23:52 +02:00
Julian Dolby
14f535e1d1
new tests
2014-06-26 11:12:44 -04:00
Julian Dolby
41b32561dd
tests to compare with field based
2014-05-28 13:31:29 -04:00
Julian Dolby
99512c5cd0
uuse PrinterWriter; make DOM model optional
2014-04-11 10:00:05 -04:00
Julian Dolby
aba40663d2
new timeout mechanism
2014-02-08 21:37:39 -05:00
Manu Sridharan
3d2350dde6
rewrite getURLForFile to use FileProvider
2013-11-30 10:02:32 -08:00
Julian Dolby
05003d52c9
merge
2013-09-18 14:05:48 -04:00
Julian Dolby
dd4d794517
merge
2013-09-18 14:00:04 -04:00
Julian Dolby
45e6803d30
white space change
2013-09-18 13:58:49 -04:00
Manu Sridharan
898e1c3810
add modeling of window.onload invocation
2013-09-16 09:37:18 -07:00
Julian Dolby
0799bffc84
clean ups
2013-08-29 10:16:38 -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
72fa4b7ff6
add prologue files explicitly, which is now needed
2013-08-07 15:16:13 -04:00
Julian Dolby
8ea24cdafc
this test works now
2013-08-07 15:12:23 -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
Julian Dolby
00c095ae28
turn off debugging output
2013-06-25 13:29:37 -04:00
Julian Dolby
080325b5f6
merge
2013-06-25 11:57:37 -04:00
Julian Dolby
3015d1c5f9
added container access to ModuleEntry
2013-06-25 11:53:58 -04:00
Julian Dolby
068d0f0908
merge
2013-06-10 09:08:34 -04:00
Julian Dolby
9e51a19d5d
tests
2013-06-10 09:02:12 -04:00
Manu Sridharan
f268ca91fd
remove precise lexical config options; we want this to just be on
2013-06-07 09:48:00 -07:00
Max Schaefer
79b12e332e
Only introduce property name contexts for constant keys.
2013-06-07 08:29:24 +08:00
Max Schaefer
188a7c79a6
Need to use 1-CFA for ajaxslt test (alternatively turn off correlation
...
tracking).
2013-06-07 08:29:24 +08: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
98e83e5103
another test for Function.prototype.apply handling
2013-06-03 14:03:28 -07:00
Manu Sridharan
26896049a7
add crashing test case (currently ignored)
2013-06-03 10:44:06 -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
Manu Sridharan
3b1889121b
add missing copyright headers
2013-05-22 15:39:19 -07:00
Manu Sridharan
fd6a02422e
undo one change from previous commit
2013-04-30 12:17:05 -07:00
Manu Sridharan
8d5af4aece
fix warnings
2013-04-30 12:10:06 -07:00
Julian Dolby
1cc5e5ce9c
fixes for bug with dead code and exception handlers
2013-04-10 21:16:12 -04:00
Manu Sridharan
4f7ec12edd
Expose temporary file created by source extractor. Fixes #19
2013-04-10 12:22:57 -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
6465edbaee
test fix
2013-01-09 14:30:56 -08:00
Manu Sridharan
29c73cea83
Merge branch 'lexical-access-info'
2013-01-09 14:27:14 -08:00
Julian Dolby
9aa474fdb1
1) added InstanceKey.getCreation sites and its implementations
...
2) fixes for issues with keys representing dynamic properties
i) all properties are converted to strings, in an approximation of JS
semantics
3) fix to handling of instance keys representing numbers in binary +;
now it understands that adding constant keys of type Number requires
adding a non-constant Number key to the lval
2013-01-07 20:18:27 -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
5aa3a16587
add support for lexical writes
2013-01-03 16:09:48 -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
Manu Sridharan
dd98150ed8
fix test to properly check reachability
2012-12-17 20:38:17 -08:00
Manu Sridharan
1bf2c64ba7
add an array test that doesn't quite work
2012-12-17 16:52:31 -08:00
Max Schaefer
e130a5b963
Some refactoring of prologue.js and preamble.js to use more consistent
...
names.
2012-09-18 13:22:17 -04:00
Manu Sridharan
24eb803211
organize imports; no semantic change
2012-09-04 16:24:37 -07:00
Manu Sridharan
931e2b8b4b
remove Mozilla page tests
2012-08-29 14:41:02 -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
dolby
0518b5242b
more JS stuff
2012-08-22 12:15:46 -04:00
Manu Sridharan
7aaba4bc5a
Bug fix in dispatch logic + test
...
Due to constant parameters, we can't assume that constraints don't need
to be generated when we've already seen a target at a call site (since
the previous constraints may have only passed certain constant parameter
values, rather than all parameter values). Add a check to handle these
cases correctly.
2012-07-30 12:40:48 -07:00
Max Schaefer
a3d8a0c757
Renamed two test methods.
2012-07-09 14:24:36 -04:00
Max Schaefer
c5e31617e1
Some more tests.
2012-07-09 14:22:34 -04:00
Max Schaefer
d40729c444
Small improvement to treatment of generated names in extraction tests.
2012-07-05 16:31:58 -04:00
Max Schaefer
468f0a9864
Added a workaround for differences in generated names between actual and
...
expected output in some of the tests.
2012-07-05 09:56:53 -04:00
Max Schaefer
fca3999e9a
Fixed rewriting of non-constant switch cases.
2012-07-05 09:37:47 -04:00
Max Schaefer
5ba9b7b735
Merge branch 'master' of git@riverdale.watson.ibm.com:jsanalysis
2012-07-05 08:34:01 -04:00
Max Schaefer
9d1d198777
New test case for call graph construction.
2012-07-04 15:29:16 -04:00
Manu Sridharan
f6e52c9b93
Merge remote-tracking branch 'riverdale/master'
2012-07-04 10:27:13 -07:00
Max Schaefer
7bdc127ce5
Workaround for invalid end positions in CAst.
2012-07-04 12:19:05 -04:00
dolby
d0d1ff1a2b
Merge branch 'master' of https://github.com/wala/WALA.git
2012-07-03 19:22:37 -04:00
Manu Sridharan
76ca05ccb8
comment out manual enabling of CG dumps; we really need a better solution here
2012-07-03 15:55:02 -07:00
Manu Sridharan
ec2b83ff1b
don't run the jquery test as part of the standard regression; we don't scale yet
2012-07-03 15:07:20 -07:00
dolby
4b3cba710d
changes from upstream
2012-06-29 15:47:54 -04:00
dolby
dfe06b8ff3
changes to Web source mapping to exploit rhino 1.7R3 source offsets
2012-05-08 13:17:01 -04:00
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
99564d6e06
strengthen checking of argument specialization test
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4533 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-23 18:15:05 +00:00
msridhar1
a840e068d6
When extracting correlated pairs, check that the extraction region does
...
not reference the "arguments" variable.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4506 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:39 +00:00
msridhar1
a3d0b45eef
Added support for localising variables through which correlated reads
...
flow. This somewhat compensates for the lack of SSA form for closure
variables under the new lexical scheme.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4505 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:22 +00:00
msridhar1
efcbdd625c
Merge remote-tracking branch 'riverdale/extractor-fix' into lexical-again
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4502 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:48 +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
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
677fc96aec
add a test
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4485 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:19:32 +00:00
msridhar1
a1a62d4793
Fixed a longstanding bug in the handling of arguments: both v1 _and_ v2
...
should be ignored when setting up the arguments array (the former is the
invoked function, the latter is the receiver).
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4480 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:18:32 +00:00
msridhar1
fcf0aa824d
in the Function.apply() context selector, only add one-level of call strings when an ApplyContext is also being used
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4474 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:17:22 +00:00
msridhar1
54d50d4eea
Turning off handling of apply for this test.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4472 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:16:55 +00:00
msridhar1
2dda77a0fb
another bug fix; looking good...
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4467 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:57 +00:00
msridhar1
c9d914304d
add a test
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4462 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:36 +00:00
msridhar1
9ad5c55d85
generate lexical access instructions for methods accessing their own exposed vars. still need to fix call graph construction
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4461 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:26 +00:00
msridhar1
c87d4731bb
add a test case that causes a crash
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4458 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:13:39 +00:00
Max Schaefer
aa00b04c00
Some more fixes to the closure extractor; now only a single test fails.
2012-02-09 08:21:10 -05:00
msridhar1
eb1f59407d
Undoing accidental commit.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4453 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:35:56 +00:00
msridhar1
d7544c111f
Minor change.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4452 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:35:45 +00:00
msridhar1
6449da85df
Some final fixes to the for-in body extractor; it now seems to work as
...
before.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4451 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:35:32 +00:00
msridhar1
c47b6a77b4
Need to pass on the preprocessor when constructing the call graph
...
builder.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4449 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:35:06 +00:00
msridhar1
96f0d763d2
Minor change.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4443 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:33:21 +00:00
msridhar1
55adb1ac2e
Minor change.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4442 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:33:10 +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
a2c146b2d8
New failing test case dead_phi
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4417 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:51:26 +00:00
msridhar1
c8c12436a7
Added test exposing a weird IR generation bug.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4415 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:50:52 +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