Julian Dolby
4aefbecb8e
fix for JavaScript crash
2014-06-26 10:57:08 -04:00
Juergen Graf
4772f36d47
add standard type parameter to most pointer analysis references. When it breaks we move back to ? extends InstanceKey.
2014-05-20 22:00:06 +02:00
Juergen Graf
ef4513d377
revert PointerAnalysis hack that makes containsAny() and contains() methods in OrdinalSet unusable
2014-05-20 19:52:01 +02:00
Juergen Graf
428a3975ed
Merge branch 'wala' into master
...
Conflicts:
com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/loader/JavaSourceLoaderImpl.java
com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ssa/AstJavaInstructionFactory.java
com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ssa/AstJavaInvokeInstruction.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/html/WebPageLoaderFactory.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/loader/JavaScriptLoader.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ssa/JSInstructionFactory.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ssa/JavaScriptInvoke.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstCallGraph.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AbstractLexicalInvoke.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstInstructionFactory.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstLexicalRead.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/AstLexicalWrite.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/ssa/FixedParametersInvokeInstruction.java
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ir/translator/AstTranslator.java
com.ibm.wala.core/.classpath
com.ibm.wala.core/.settings/org.eclipse.jdt.core.prefs
com.ibm.wala.ide/src/com/ibm/wala/ide/util/ProgressMonitorDelegate.java
com.ibm.wala.util/src/com/ibm/wala/util/NullProgressMonitor.java
com.ibm.wala.util/src/com/ibm/wala/util/ProgressMaster.java
2014-05-20 17:59:16 +02:00
Julian Dolby
a00b4ae47b
bug fixes for source buffers when the source files is all on a single
...
line
2014-05-20 13:11:58 +02:00
Julian Dolby
7c0de83e74
move to Reader API to help with annoying /r/n issues is source mapping
2014-05-20 13:11:55 +02:00
Julian Dolby
a2f4f3b238
type in CAst var decls
2014-05-20 13:10:57 +02:00
Julian Dolby
5228cacd43
adapt to type changes
2014-05-20 13:10:33 +02:00
Julian Dolby
8921a8cb71
allow specialization of source name map generation
2014-05-20 13:09:24 +02:00
Julian Dolby
a6315f8a62
more detail in assertion
2014-05-20 13:09:01 +02:00
Julian Dolby
038a39dbf5
bug fixes for source buffers when the source files is all on a single
...
line
2014-04-29 11:21:58 -04:00
Julian Dolby
92bec0cc0b
move to Reader API to help with annoying /r/n issues is source mapping
2014-04-29 11:21:01 -04:00
Julian Dolby
893f4b7308
type in CAst var decls
2014-03-16 18:05:49 -04:00
Julian Dolby
79acda26ed
adapt to type changes
2014-02-09 19:00:31 -05:00
Julian Dolby
2c9c0d802f
allow specialization of source name map generation
2014-02-08 21:32:51 -05:00
Julian Dolby
5af42e4585
more detail in assertion
2014-01-03 10:07:11 -05:00
Julian Dolby
51d4b0e462
make urlToFile and streamToFile more flexible
2013-12-13 19:27:22 -05:00
Julian Dolby
026f04cbfc
get more error information from Rhino
2013-11-26 17:20:16 -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
Julian Dolby
56236dec53
further work on analysis for JavaScript in Eclipse
2013-10-16 17:37:53 -04:00
Julian Dolby
81aaa1bee0
make a translator error a kind of wala exception
2013-08-29 10:18:29 -04:00
Julian Dolby
528be3e973
remove now-unused functionality
2013-08-07 15:20:05 -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
c71652de34
add getNumberOfUses(), rename class
2013-07-10 09:44:47 -07:00
Manu Sridharan
059d841c8c
removing lexical reads and writes from invoke instructions; WIP
2013-07-10 09:44:46 -07:00
Juergen Graf
cdaaddf88b
Merge branch 'wala' into master
2013-07-02 14:23:24 +02: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
Manu Sridharan
162a001ce6
remove more code for older lexical access scheme
2013-06-07 09:58:25 -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
d2933d49b2
delete a little more code and javadoc
2013-06-06 20:02:42 -07:00
Manu Sridharan
321695617c
delete more code
2013-06-06 20:02:42 -07:00
Manu Sridharan
472a98d7cf
delete some code
2013-06-06 20:02:42 -07:00
Manu Sridharan
d4b252ad51
kill NEW_LEXICAL flag
2013-06-06 20:02:41 -07:00
Manu Sridharan
3b1889121b
add missing copyright headers
2013-05-22 15:39:19 -07:00
Manu Sridharan
dcc7cd206d
bug fix: allow each language to determine when a CGNode represents the "definer" method for a lexical access
2013-04-29 20:34:40 -07:00
Julian Dolby
1cc5e5ce9c
fixes for bug with dead code and exception handlers
2013-04-10 21:16:12 -04:00
Manu Sridharan
1079d68aea
delete files
2013-04-10 10:33:28 -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
321e925660
work on CHA
2013-04-03 12:12:43 -04:00
Juergen Graf
9b1cf1ae07
no warnings in com.ibm.wala.cast
2013-03-12 00:29:01 +01:00
Juergen Graf
80920368ef
incorporate changes from other branch
...
- remove extraneous printing
- fixes for parse errors in JS and HTML
- fixes for handling parse errors in JS and HTML
- update comments
- Change BitVectorRepository to use LinkedLists
- improve javadoc
- fix for for in contexts for NEVER case
- missing VectorKill println method
2013-03-12 00:21:26 +01:00
Julian Dolby
87b856928c
fixes for handling parse errors in JS and HTML
2013-03-01 10:07:20 -05:00
Juergen Graf
d77cfc60fc
incorporate changes from other branch
...
- Annotation support
- Properly fix path-with-spaces bug.
- fix bug involving paths with spaces
- add a simple driver for building a call graph via a scope file
- Properly return null as default constructor of an array.
- organize imports
- better handling of missing bytecodes
- javadoc
- test fix
- small Javadoc fix
- added date-property.js
- 1) added InstanceKey.getCreation sites and its implementations 2) fixes for issues with keys representing dynamic properties i) all properties are converted to strings,
- publicize method makeClasspath(). deprecate quoteStringIfNeeded()
- organize imports
- javadoc
- renamed classes to make relationship to mod-ref analysis clearer
- add support for lexical writes
- Code to compute transitive lexical accesses of methods.
- extract some generally useful code from ModRef
- Generate proper InstanceFieldKeys for property accesses with Numbers.
- rewrite to make hardest test appear last
- fix test to properly check reachability
- add an array test that doesn't quite work
- add method to get a PointerKey for a global
- compare FieldValueDispatch objects based on CGNode as well
- Handle duplicate field names between subclass and superclass.
2013-02-06 12:34:25 +01:00
Julian Dolby
afccdd2189
Annotation support
2013-02-02 21:27:45 -05: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
6084f4ff61
Generate proper InstanceFieldKeys for property accesses with Numbers.
...
Note that this change actually breaks a couple of our unit tests. But,
it seems they were only passing by accident before anyway, and this change
at least leads to a more consistent handling of dynamic property accesses
with String vs. Number property names.
2012-12-18 10:11:59 -08:00
Juergen Graf
b82d5dba90
Merge branch 'wala' into master
2012-11-06 04:23:10 +01:00
dolby
f7a7d66b28
move loop unrolling code to wala from Miniatur/MemSAT
2012-10-03 10:53:04 -04:00
Manu Sridharan
2560d12826
fix equals() method to check offsets
2012-09-28 15:51:12 -07:00
Manu Sridharan
210d4c53ea
improved Javadoc
2012-09-19 11:45:49 -04: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
dolby
5f0b0ea956
Two fixes for mapping source positions to IR
...
1: get the right position for methods from the JDT AST
2: more seriously, there was a nasty bug in how source positions got
mapped in unwound code: mappings were wrong for instructions that
were the result of duplicating code to replicate unwind handling in
exceptional and non-local exits.
2012-08-30 12:10:30 -04:00
dolby
0518b5242b
more JS stuff
2012-08-22 12:15:46 -04: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
Juergen Graf
4648f0404a
Merge branch 'wala' into master
2012-07-17 13:57:43 +02:00
Manu Sridharan
9a0e105e51
fix so that new lexical scheme can be enabled with Java frontends
2012-07-12 10:27:24 -07:00
Juergen Graf
10792bec73
Merge branch 'wala' into master
2012-05-16 14:02:20 +02:00
dolby
b6ee356641
tests for source mapping
2012-05-11 15:03:10 -04:00
dolby
dfe06b8ff3
changes to Web source mapping to exploit rhino 1.7R3 source offsets
2012-05-08 13:17:01 -04:00
Juergen Graf
c71fa6674a
Merge branch 'wala' into master
2012-04-19 14:39:05 +02:00
Manu Sridharan
c116f16823
got code to compile again, and wala.core regression tests pass
2012-04-16 22:30:03 -04:00
Juergen Graf
1090e59717
Merge branch 'wala' into master
2012-04-04 11:27:23 +02: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
Juergen Graf
7477b1730b
Merge branch 'wala' into master
2012-03-19 13:33:48 +01:00
dolby-oss
a93dc6fcc5
minor cleanup
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4543 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-08 17:34:36 +00:00
dolby-oss
70678e1e4a
add type parameters
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4536 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-03-01 13:18:59 +00: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
9b2b4c6f51
remove unused declaration on public method
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4528 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-23 17:45:20 +00:00
dolby-oss
2f7107ac44
remove import warning
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4527 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-23 17:44:39 +00:00
dolby-oss
f4a1544a2d
fix overly-restrictive assertions
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4521 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-20 16:04:48 +00:00
msridhar1
0d0d2b89a9
improve toString()
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4508 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:00 +00:00
msridhar1
1dfacdfe4c
make it easier to identify ArgumentInstanceContexts
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4507 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:25:49 +00:00
msridhar1
cafc761a7c
bug fix
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4503 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:24:56 +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
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
4037ef9b02
add new analysis option JSAnalysisOptions.usePreciseLexical(), which allows for a less precise handling of lexical accesses
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4494 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:22:30 +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
1ac2dc110e
better recursion check
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4484 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:19:22 +00:00
msridhar1
3b5ba61cc0
add recursion check
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4483 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:19:13 +00:00
msridhar1
16c798c790
bug fix: only generate one synthetic method representing Function.prototype.apply
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4476 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:17:44 +00:00
msridhar1
300377a428
disabled LexicalScopingResolverContexts with new scheme
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4468 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:16:15 +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
bfb24934af
another bug fix; getting closer...
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4466 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:38 +00:00
msridhar1
78ef6e3a03
further work
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4465 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:15:26 +00:00
msridhar1
8982d35800
fixed one CG building bug with useLocalsForLexicalVars() disabled
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4463 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:51 +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
3445c0b090
renaming of exposed parameters
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4460 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:14:03 +00:00
msridhar1
1d4f5ff639
initial code to compute exposed names
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4459 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:13:52 +00:00
msridhar1
24574114b9
Taught CAstPrinter about EACH_ELEMENT_GET and EACH_ELEMENT_HAS_NEXT.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4436 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-08 15:31:52 +00:00