Manu Sridharan
373a4d8aa4
Update Maven Central files to allow building under Java 8
2016-07-22 12:32:51 -07:00
Manu Sridharan
5e51615222
Fix some generic type warnings
2016-07-21 16:57:38 -07:00
Manu Sridharan
63eb5ade55
Also add lib/ directory contents to Maven jar
2016-07-20 12:25:47 -07:00
Julian Dolby
73747cbb86
fixes for work with ECJ
2016-07-05 19:37:36 -04:00
Julian Dolby
22ce3d1144
Merge https://github.com/steohan/WALA
2016-06-29 13:03:50 -04:00
Andreas Sewe
e2e5bcf435
SecurityExceptions when analyzing JARs with broken/expired signatures
...
See <https://github.com/wala/WALA/issues/100 >
2016-06-08 11:08:10 +02:00
Julian Dolby
065a3ff767
pruned call graph takes edges as well as nodes
2016-06-06 14:17:12 -04:00
Manu Sridharan
330692ad0e
Include files from dat directory in jar
2016-05-25 11:51:50 +02:00
Manu Sridharan
cd560b3b2b
switch version to 1.3.10-SNAPSHOT
2016-05-10 22:53:28 +09:00
Manu Sridharan
158a5deeb0
Version 1.3.9
2016-05-10 21:59:26 +09:00
Julian Dolby
e87b2e5d84
fixes for slicing of field-based CGs
2016-02-14 17:18:21 -05:00
Julian Dolby
57a8c7d019
Merge branch 'master' of https://github.com/wala/WALA
2016-02-11 12:09:50 -05:00
Julian Dolby
eb7748a745
fixes for slicing of graphs built with the field-based builder
2016-02-11 11:51:39 -05:00
steohan
715b1e86fe
Merge pull request #1 from wala/master
...
Pull from Wala
2016-01-13 02:23:04 +01:00
Stephan Gocht
2869af24df
Bugfixes, code and documentation improvements.
2016-01-13 02:07:11 +01:00
Stephan Gocht
b75d93cb1c
Changed pi policy to only create pi nodes for integer variables.
2016-01-08 14:10:55 +01:00
Stephan Gocht
448c8c5f86
Missing Files for last commit.
2015-12-20 19:35:00 +01:00
Stephan Gocht
c3b7f9ffb3
Documentation and Refactoring.
2015-12-20 19:34:40 +01:00
Stephan Gocht
467707701f
Added InstructionByIindexMap, to make sureinstructions are identified by
...
iindex in hash and equals only.
2015-12-20 13:35:51 +01:00
Manu Sridharan
e95663e24a
Be more robust to broken java_runtime_dir
...
If java_runtime_dir in wala.properties is invalid, fall back to the
boot class path instead of just failing.
2015-12-16 10:56:09 -08:00
Julian Dolby
46a483f320
language changes
2015-12-15 19:33:59 -05:00
Julian Dolby
dc552316b9
language changes
2015-12-15 19:31:04 -05:00
Manu Sridharan
2f47ffa02b
Clarify a comment
2015-12-11 15:50:25 -08:00
Julian Dolby
1936ccd94f
changes for language work
2015-12-10 06:59:05 -05:00
Stephan Gocht
fd0d06df5d
Added correct handling for this pointer in member methods.
2015-11-30 23:03:28 +01:00
Stephan Gocht
bed18b792c
Extended exceptionan anlysis with exception filter.
2015-11-30 23:02:40 +01:00
Stephan Gocht
77b1ed71c7
Generalized Type.
2015-11-26 11:03:26 +01:00
Stephan Gocht
79883b3def
Completed implementation of basic functionality.
2015-11-25 17:05:51 +01:00
Stephan Gocht
c5c4799b35
Added minimalistic implementation of an exceptio analyisis. (Not fully
...
functional yet.)
2015-11-20 21:19:41 +01:00
Stephan Gocht
3acd97ebfb
Fixed assertion fault, in case of multidimensional arrays.
2015-11-15 21:05:39 +01:00
Julian Dolby
2b2543cfbb
fixed bugs with switch bytecodes in Dalvik.
...
ignore exceptions in callgraph construction when they are ignored in
bytecode from Dalvik.
2015-11-13 19:25:23 -05:00
Stephan Gocht
dfaa44d111
Added quicksort example, and made larger change as it wasn't as expected
...
first. This change should improve the results of the analysis.
2015-11-06 18:52:11 +01:00
Stephan Gocht
381cf2d2f1
Fixed a bug, which allowed only usage of phi notes with exactly 2 uses.
...
(There may be more than 2 uses in a phi note.)
2015-10-26 00:50:01 +01:00
Stephan Gocht
7d7e236fd6
Added test for exception pruning (including example for usage).
2015-10-23 14:56:33 +02:00
Stephan Gocht
65fcc2d5da
Fixed a bug causing crash.
2015-10-23 14:55:39 +02:00
Stephan Gocht
ec4f5e506a
Removed unnecessary generic.
2015-10-23 14:54:49 +02:00
Stephan Gocht
7238f6d1ed
Fixed a bug, which was introduced in the previous commit. (Resulted in
...
infinite recursion.)
2015-10-23 09:48:20 +02:00
Stephan Gocht
f8cae1b509
Added Tests and Testdata for array bounds analysis.
2015-10-19 23:20:36 +02:00
Stephan Gocht
e85816a986
Fixed getPis method.
2015-10-19 23:15:40 +02:00
Stephan Gocht
4e073e9afe
Added new PiPolicy to add pis for all variables used in a conditional
...
branch.
2015-10-19 23:15:21 +02:00
Stephan Gocht
58dd111203
Added classes for exception pruning and adapter for null pointer and
...
array out of bounds analysis.
2015-10-12 19:52:29 +02:00
Stephan Gocht
9024f19bf6
Added an array out of bounds analysis.
2015-10-12 19:51:14 +02:00
Stephan Gocht
f78ef5bcbb
Added new class for simpler access to intraprocedural null pointer
...
analysis.
2015-10-12 19:39:06 +02:00
Stephan Gocht
b32f798ae1
Modified files from earlyer change [1], so no format changes are done.
...
[1] 52ea4af62c
2015-10-11 19:25:05 +02:00
Manu Sridharan
e46bb81081
Update version to 1.3.9-SNAPSHOT
2015-10-09 12:55:49 -07:00
Manu Sridharan
ed5093d6db
Properly update version to 1.3.8
...
Other changes were accidentally committed last time.
2015-10-09 11:06:03 -07:00
Manu Sridharan
077cabc4eb
Revert "update version to 1.3.8"
...
This reverts commit 4aac703ee5
.
2015-10-09 11:03:46 -07:00
Manu Sridharan
4aac703ee5
update version to 1.3.8
2015-10-09 10:45:57 -07:00
Julian Dolby
45af0414b7
more attempts to placate annoying ibm jvm
2015-09-18 21:48:13 -04:00
Julian Dolby
13de4a3bd1
add support for generic signatures
2015-09-16 13:23:21 -04:00
Stephan Gocht
6df7c85714
Changed class and construction modifier to public.
2015-09-07 23:11:41 +02:00
Stephan Gocht
2dc6322356
Extracted private class and made it public.
2015-09-07 21:49:03 +02:00
Stephan Gocht
52ea4af62c
Added Support for creating pi nodes for more than on variable.
2015-08-19 17:46:58 +02:00
Julian Dolby
045537274f
merge
2015-08-13 11:26:48 -04:00
Julian Dolby
671bd98977
Java 8 suport enhancements, mostly to model lambdas compiled to
...
invokedynamic
2015-08-12 15:20:21 -04:00
Julian Dolby
b1538aece6
Merge branch 'master' of https://github.com/wala/WALA
2015-08-09 13:47:01 -04:00
Julian Dolby
8470091225
Java 8 default methods
2015-08-09 13:46:03 -04:00
Manu Sridharan
13a46d8ea3
Fixes #82
...
PrunedCFG had been changed to always include an entry and exit node.
The logic for detecting an "empty" ExceptionPrunedCFG inside the PDG
construction code had not been updated appropriately.
2015-08-06 11:08:27 -07:00
Julian Dolby
223fb8d439
try to be more precise about finalize methods
2015-07-31 09:20:46 -04:00
Martin Mohr
9b8b323812
make configurable whether we apply an optimized version of hasExceptions()
2015-07-27 18:31:43 +02:00
Martin Mohr
65b9e97ae5
refine hasExceptions(): return true if there are *uncaught* exceptions
2015-07-27 14:17:18 +02:00
Julian Dolby
519b98a0ea
fixes to model of for ... in ... in JavaScript
2015-07-24 22:48:20 -04:00
Julian Dolby
563b6ba6aa
fixes for for ... in ... form in JavaScript
2015-07-24 22:44:10 -04:00
Julian Dolby
364fe7fa99
make dynamic and static analysis more consistent
2015-07-24 22:42:34 -04:00
Julian Dolby
b721a3ceb0
updates to dynamic call graphs to better match static ones
2015-07-10 09:44:01 +02:00
Julian Dolby
a6a060ed25
changes for handling of 'callbacks' in dynamic CGs
2015-06-28 17:06:21 -04:00
Martin Mohr
8d143dbf20
remove 'Custom Change' markers
2015-06-25 09:12:37 +02:00
Martin Mohr
0b92907149
Revert "cache for selectors"
...
This reverts commit 0af7f105ec
.
2015-06-25 09:12:37 +02:00
Juergen Graf
bd96807d7c
fix bug: npe on control dep computation when exceptions are ignored
2015-06-22 10:45:26 +02:00
Martin Mohr
f2a4bba83f
bugfix in debug output: only take item from worklist if it is not empty
2015-06-14 23:33:43 -07:00
Martin Mohr
b378f8c458
custom change: include target in string representation of cond-branch
2015-06-14 23:31:35 -07:00
Martin Mohr
29779f411a
allow adding a conditional branch instruction
2015-06-14 23:31:35 -07:00
Martin Mohr
a83ba08980
turn off debug output
2015-06-14 23:31:00 -07:00
Martin Mohr
80fd657675
transcribe non-overwritten reserved slots into "goto next" instructions
2015-06-14 23:31:00 -07:00
Martin Mohr
a5b6490951
fix getNextProgramCounter()
...
handle the case that the current program counter is free
2015-06-14 23:29:27 -07:00
Martin Mohr
1acbf4b9f7
preserve holes in instruction array when transcribing method summary
...
otherwise the iindex fields in the ssa instructions are inconsistent
with their index in the instruction array
2015-06-14 23:29:10 -07:00
Martin Mohr
1f105dc101
staticalize a method
2015-06-14 23:29:10 -07:00
Martin Mohr
9e5be48138
only generate return statement if caller and callee are compatible
2015-06-14 23:27:57 -07:00
Martin Mohr
0af7f105ec
cache for selectors
2015-06-14 23:27:57 -07:00
Julian Dolby
31f9f1b0b5
more exclusions
...
allow 1.8 libs
2015-06-04 15:51:46 -04:00
Manu Sridharan
052023581d
update version to 1.3.8-SNAPSHOT
2015-05-31 13:53:07 -07:00
Manu Sridharan
f2f65bfbc5
oops, version should be 1.3.7
2015-05-29 13:20:25 -07:00
Manu Sridharan
894f010ff9
version 1.3.8
2015-05-29 12:20:53 -07:00
Manu Sridharan
7ad8700064
update version numbers to 1.3.7-SNAPSHOT everywhere
2015-05-28 10:37:01 -07:00
Julian Dolby
22ad339fd9
dalvik test infrastructure
2015-04-05 21:22:55 -04:00
Julian Dolby
d85347f231
Merge branch 'master' of https://github.com/wala/WALA
2015-04-05 21:20:03 -04:00
Julian Dolby
0975441a43
changes for hybrid analysis
2015-04-05 21:19:56 -04:00
Collin Winter
33d3139667
Use Arrays.toString() instead of the default array toString() method.
...
The former will include the contents of the array, while the latter
only includes the object's identity.
This will allow WALA to be compiled using Google's error-prone compiler
(https://github.com/google/error-prone ).
2015-03-25 19:02:28 -07:00
Julian Dolby
de26484098
java annotations support for dalvik
2015-03-04 13:49:58 -05:00
Julian Dolby
5cc870dd77
fixes to Dalvik support, and work on running Dalvik tests on Travis
2015-02-26 09:34:03 -05:00
Julian Dolby
096e2f796f
1) new support for function.prototype.apply in field-based CGs
...
2) fixes to Dalvik bytecode reader
3) fixes to Shrike writing Java 7 byte code
2014-12-11 21:48:23 -05:00
Cosmin Radoi
853b5fc37a
replace Filter with Predicate
2014-11-25 13:23:47 -06:00
Julian Dolby
bf7dbe6359
misc fixes
2014-11-18 22:37:51 -05:00
Julian Dolby
1a4757cf10
add option to allow getMethodto be handled only for user code. a
...
scalability compromise.
2014-11-18 22:30:47 -05:00
Manu Sridharan
f5f992035a
more build files for maven central jars
2014-11-13 21:16:11 -08:00
Cosmin Radoi
e2dce7be00
SSAInstruction equals based on iindex
2014-11-10 19:40:45 -06:00
Julian Dolby
68ad4dbba6
first cut at heap graph for field-based pointer analyais
2014-10-30 21:14:12 -04:00
Julian Dolby
1bb7610011
work toward pointer analysis based on the flowgraph from field-based
...
call graph builder
2014-10-19 22:44:03 -04:00
Julian Dolby
c9ad359d65
new test to remind me that prototype no longer works with correlation tracking:
...
com.ibm.wala.cast.js.rhino.test/harness-src/com/ibm/wala/cast/js/test/TestPrototypeCallGraphShapeRhino.java
com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestPrototypeCallGraphShape.java
com.ibm.wala.cast.js.test.data/examples-src/pages/prototype.html
work (not yet finished) on fixes to property accesses for JavaScript:
com.ibm.wala.cast/source/java/com/ibm/wala/cast/ipa/callgraph/AstSSAPropagationCallGraphBuilder.java
com.ibm.wala.cast.java/src/com/ibm/wala/cast/java/ipa/callgraph/AstJavaSSAPropagationCallGraphBuilder.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/JSSSAPropagationCallGraphBuilder.java
currently unused tests to remind me to fix bugs:
com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java
com.ibm.wala.cast.js.test.data/examples-src/tests/loops.js
com.ibm.wala.cast.js.test.data/examples-src/tests/primitive_strings.js
fixes to exception handler code generation in JavaScript:
com.ibm.wala.cast.js.rhino/source/com/ibm/wala/cast/js/translator/RhinoToAstTranslator.java
com.ibm.wala.cast.js.test.data/examples-src/tests/try.js
com.ibm.wala.cast.js.test/harness-src/com/ibm/wala/cast/js/test/TestSimpleCallGraphShape.java
fixes to make the system build on both juno and luna
com.ibm.wala.cast.js.test.data/pom.xml
pom.xml
targets/e42/e42.target
targets/e44/e44.target
targets/pom.xml
com.ibm.wala.core.tests/META-INF/MANIFEST.MF
com.ibm.wala.dalvik.test/META-INF/MANIFEST.MF
com.ibm.wala.ide.jdt.test/META-INF/MANIFEST.MF
com.ibm.wala.ide.jdt/source/com/ibm/wala/cast/java/translator/jdt/FakeExceptionTypeBinding.java
com.ibm.wala.ide.jdt/source/com/ibm/wala/ide/util/JavaEclipseProjectPath.java
com.ibm.wala.ide.jsdt.tests/META-INF/MANIFEST.MF
com.ibm.wala.ide.jsdt.tests/src/com/ibm/wala/ide/jsdt/tests/AbstractJSProjectScopeTest.java
com.ibm.wala.ide/src/com/ibm/wala/ide/util/EclipseProjectPath.java
com.ibm.wala.ide/src/com/ibm/wala/ide/util/ProgressMonitorDelegate.java
beginnings of "pointer analysis" on top of field-based analysis
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/FlowGraph.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/PropVertex.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/RetVertex.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/VarVertex.java
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/callgraph/fieldbased/flowgraph/vertices/VertexFactory.java
com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/PointerAnalysis.java
com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/cfa/ExceptionReturnValueKey.java
fixes for crashes in correlartion tracking
com.ibm.wala.cast.js/source/com/ibm/wala/cast/js/ipa/callgraph/correlations/extraction/ClosureExtractor.java
fixes for Dalvik IR generation
com.ibm.wala.core/src/com/ibm/wala/cfg/BytecodeCFG.java
com.ibm.wala.core/src/com/ibm/wala/cfg/ShrikeCFG.java
com.ibm.wala.core/src/com/ibm/wala/ssa/SSACFG.java
com.ibm.wala.dalvik.test/source/com/ibm/wala/dalvik/drivers/APKCallGraphDriver.java
com.ibm.wala.dalvik.test/source/com/ibm/wala/dalvik/test/callGraph/JVMLDalvikComparison.java
com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/classLoader/DexCFG.java
com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/dex/instructions/UnaryOperation.java
com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ssa/AbstractIntRegisterMachine.java
com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/ssa/DexSSABuilder.java
fixes to stack map generation when instrumenting for Java 7
com.ibm.wala.shrike/src/com/ibm/wala/shrike/cg/DynamicCallGraph.java
com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/ConstantInstruction.java
com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Analyzer.java
com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/ClassHierarchy.java
com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/analysis/Verifier.java
com.ibm.wala.shrike/src/com/ibm/wala/shrikeBT/shrikeCT/ClassInstrumenter.java
com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapConstants.java
com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableReader.java
com.ibm.wala.shrike/src/com/ibm/wala/shrikeCT/StackMapTableWriter.java
2014-10-15 16:01:38 +09:00
Julian Dolby
4e52c00a4b
re-enable assertion
2014-10-10 17:44:06 -04:00
Julian Dolby
14c9c96515
merge of java 7 changes.
...
fixes for Dalvik commit.
2014-10-06 17:41:58 -04:00
Julian Dolby
6c47da8091
Merge branch 'master' of https://github.com/wala/WALA
...
Conflicts:
com.ibm.wala.core.tests/src/com/ibm/wala/core/tests/shrike/DynamicCallGraphTestBase.java
com.ibm.wala.ide.jdt.test/launchers/JDTJava15IRTests.launch
2014-10-06 15:43:42 -04:00
Julian Dolby
36709b9d1a
java 7 support, with much pain for stack maps :)
2014-10-06 15:34:16 -04:00
Julian Dolby
a1bc84356d
scandriod merge
2014-10-01 21:32:36 -04:00
Julian Dolby
774be73672
Merge https://github.com/jgf/wala-mirror
2014-09-11 10:43:13 -04:00
Julian Dolby
26f5254e3e
more support for Java 7:
...
analysis now understands and propagates MethodHandle objects
fixes to Shrike InvokeDynamic instruction
Former-commit-id: fb826f124423bcbca08f729cee1794fbda711d16
2014-08-07 16:02:48 -04:00
Martin Mohr
32e776fa15
various fixes in natives_no_model.xml
...
* add type info in readBytes/writeBytes
* add summary for writeBytes with three parameters
2014-08-01 12:46:33 +02:00
Martin Mohr
d762293ba1
support the addition of type information for element in aaload/aastore
...
fall back to java.lang.Object if no type is given
2014-08-01 12:46:33 +02:00
Juergen Graf
a13c0df9bd
cleanup in dalvik frontend related files
2014-08-01 12:32:22 +02:00
Juergen Graf
c05415720e
remove custom change markers for code that will be merged to main branch
2014-08-01 12:27:22 +02:00
Juergen Graf
7769c5b126
minor changes: remove debug code and sync with main branch
2014-08-01 12:27:21 +02:00
Juergen Graf
eb9e74f442
add/remove @SuppressWarnings to keep in sync with wala main branch
2014-07-30 16:17:37 +02:00
Juergen Graf
7ad38161b1
remove dependency from slf4j logger in wala.core project
2014-07-30 15:44:17 +02:00
Juergen Graf
8f6ec6bc54
cleanup
2014-07-30 15:05:15 +02:00
Juergen Graf
60228a8c0d
cleanup ssa instructions in wala.core
2014-07-29 19:43:58 +02:00
Juergen Graf
6f8aee80c6
Merge branch 'wala' into master
2014-07-28 17:09:02 +02: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
d6ffcdc3bb
more checking
2014-07-08 14:41:28 -04:00
Martin Mohr
d5e32d6636
model some native methods of class System
2014-07-07 20:58:21 +02:00
Michael Heilmann
ea40719069
Merge branch 'master' of https://github.com/wala/WALA into development
2014-06-26 17:52:47 +02:00
Michael Heilmann
0bb5e6998e
Remove redundant casts and imports, improve doc comments
2014-06-26 17:51:26 +02:00
Manu Sridharan
8e33a70c91
Merge pull request #53 from aaandrewww/master
...
Fix bug in ClassHierarchy.getLeastCommonSuperClass and imprecision in type inference
2014-06-22 12:08:59 -07:00
markus
ec2d2e9c9c
fixed JavaDoc warnings
2014-06-20 10:31:27 +02:00
markus
50c9c4a406
fixed JavaDoc warnings
2014-06-20 10:27:05 +02:00
Andrew Johnson
be4e805dc4
Merge remote-tracking branch 'wala/master'
2014-05-22 00:40:20 -04:00
Andrew Johnson
c3202533f7
Fixing bug in ClassHierarchy.getLeastCommonSuperclass
...
If C1 extends C2 extends C3 getLeastCommonSuperClass(C1,C2) would give C3 instead of C2
2014-05-21 23:28:11 -04:00
Juergen Graf
5a6f6c88e9
Merge branch 'wala' into master
2014-05-21 12:49:46 +02:00
Juergen Graf
a35d03bed6
fix wala.core testcases
2014-05-20 22:32:20 +02: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
Sam Blackshear
0fba08e581
adding comment explaining why instanceof check was replaced
2014-05-20 11:50:40 -06: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
Sam Blackshear
fd47590634
Check class of parent variable directly rather than using instanceof check. Needed to get correct behavior for subclasses of ClassHierarchyMethodTargetSelector
2014-05-20 09:30:54 -06:00
Michael Heilmann
080fc8253e
Merge branch 'master' of https://github.com/wala/WALA into development
2014-05-20 13:18:52 +02:00
Michael Heilmann
efdd337dee
add and enable GetMethod context, interpreter and selector and associated unit tests
2014-05-20 13:12:06 +02:00
Michael Heilmann
45fe53a8bf
make NodeDecorator generic
2014-05-20 13:12:03 +02:00
Michael Heilmann
de1b61db5e
using theirs
2014-05-20 13:12:01 +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
Manu Sridharan
dddd830d14
synchronize methods. Fixes #43
2014-05-20 13:11:47 +02:00
Michael Heilmann
68efae8b58
using theirs
2014-05-20 13:11:44 +02:00
Manu Sridharan
05488894a4
fix compile errors for com.ibm.wala.core
2014-05-20 13:11:41 +02:00
Julian Dolby
04e1fb9d72
require 1.7 SE
2014-05-20 13:11:38 +02:00
Julian Dolby
6511d6acc3
move java 7 dependent code to core, so util works with java 6
2014-05-20 13:10:49 +02:00
Julian Dolby
dbd9c60d4f
type generalization
2014-05-20 13:10:22 +02:00
Sam Blackshear
4b7852472d
Update SSAConditionalBranchInstruction.java
...
Changing SSAConditionalInstruction.isObjectComparison(): previous definition returns true for comparisons of Primordial scope objects, but false for Application scope objects. The update version returns true in both cases
2014-05-20 13:08:59 +02:00
Michael Heilmann
f3dac38bc9
remove empty package
2014-05-20 12:49:58 +02:00
Michael Heilmann
d1f6564d23
fix doc comments
2014-05-20 12:49:56 +02:00
Michael Heilmann
349a8f8355
move GetMethod context, interpreter and selector into appropriate package, fix copyright notice
2014-05-20 12:49:53 +02:00
Michael Heilmann
525c203a8b
improve doc comments
2014-05-20 12:49:45 +02:00
Michael Heilmann
6c5ef65d5f
commit GetMethod context, interpreter and selector
2014-05-20 12:49:23 +02:00
Andrew Johnson
b29bc2dac0
Fix imprecision in type inference when merging a point array type and cone array type
...
In TypeInference when merging a PointType with a ConeType it is safe to return the cone type if
the underlying types are the same. Previously, if an array cone type and array point type were
merged this would result in a java.lang.Object even when the two arrays had the same base type.
Checking for equality first may also save a few cycles for reference types since the
isSubclass check is no longer performed for identical types.
2014-05-19 22:02:45 -04:00
Juergen Graf
d95e318234
Merge android specific changes from Tobias Blaschke into main branch.
2014-05-19 13:37:15 +02:00
Juergen Graf
cf9d623b40
change to compile in eclipse - move files from util to core due to dependencies
2014-05-19 13:24:47 +02:00
Manu Sridharan
fee72dfb66
Update AbstractNestedJarFileModule.java
...
Fixes #45
2014-05-16 10:30:05 -07:00
Martin Mohr
c6cb700804
model for a native method SocketInputStream
2014-05-16 15:36:55 +02:00
Martin Mohr
a6917e46ad
Summary of FileOutputStream.writeBytes: simulate reading from array and writing to outside ('real world')
2014-05-16 15:19:21 +02:00
Martin Mohr
671bbcec01
Method Summaries: add support for reading array load instructions from XML
2014-05-16 15:19:21 +02:00
Martin Mohr
72a0b70e1c
model for FileOutputStream.writeBytes
2014-05-16 15:19:21 +02:00
Martin Mohr
51b28a45b6
let FileInputStream.readBytes() modify the given array
2014-05-16 15:18:02 +02:00
Juergen Graf
7c80cd3c97
allow a default method state to be injected into the interprocedural exception analysis
2014-05-06 23:55:49 +02:00
Juergen Graf
cc5162b95f
remove some compiler warnings in nullpointer analysis
2014-05-06 23:55:49 +02:00
Juergen Graf
00a9b03389
always compute exception pruned cfg, not only when standard analysis was successful
2014-05-06 23:53:18 +02:00
Julian Dolby
91fe95c05d
classpath file. i have no idea where it went
2014-04-30 10:13:10 -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
de5f123fbd
Merge branch 'master' of https://github.com/wala/WALA
2014-04-29 09:21:33 -04:00
Julian Dolby
05cf4e4f66
Merge branch 'master' of https://github.com/wala/WALA
...
Conflicts:
com.ibm.wala.core/.classpath
2014-04-29 09:21:18 -04:00
Manu Sridharan
600e5ad50f
synchronize methods. Fixes #43
2014-04-24 12:35:34 -07:00
Julian Dolby
ab5ee8b3a5
merge
2014-04-24 09:01:01 -04:00
Manu Sridharan
a4c1774ee0
fix compile errors for com.ibm.wala.core
2014-04-11 12:54:59 -07:00
Tobias Blaschke
1857121a44
Add "Custom Change" where applicable
...
Added the lines
BEGIN Custom Change
END Custom Change
2014-04-11 17:58:33 +02:00
Tobias Blaschke
851594cff5
Make Intents immutable when attached to Context
...
Oops.
Fixes in intent-Resolution
2014-04-11 17:56:47 +02:00
Tobias Blaschke
abcd578a61
Use getters and setters for Intents, add explicit-attribute
...
These Changes are necessary to make the target of an Intent changeable.
Additionaly some preparing changes in the IntentMap
2014-04-11 17:56:46 +02:00
Tobias Blaschke
eced01bcb0
Add debug info and toString methods
2014-04-11 17:54:03 +02:00
Tobias Blaschke
a9864a5dab
Added specialized instantiators.
...
Creating an instance of e.g. Context would pull in all compontents
yielding a ununsable result.
2014-04-11 17:53:13 +02:00
Tobias Blaschke
00d711dd64
InducedCFG/GoTo: Handle basic block boundarys
...
Building the CFG with a SSAGotoInstuction was buggy: Oftain the wrong
jump-target was selected. This has bin fixed.
Additionally InducedCFG now automaticly breaks the basic-block at the
jump-target.
Jumping to Phi-Instructions however is still unsupported (as they are
not part of the cfg-instructions)
2014-04-11 17:53:13 +02:00
Tobias Blaschke
d5a98f9479
InducedCFG: Accept holes in the local Instruction array
...
The Instruction array in InducedCFG contains null-entries. Wheter that's
intentional or not, skipp over them.
2014-04-11 17:53:12 +02:00
Tobias Blaschke
2d9486b2a9
BUG: empty BB in InducedCFG.addExceptionalEdges
...
Current workaround is to ignore it
2014-04-11 17:53:11 +02:00
Tobias Blaschke
f8970f92b7
Enable variable-names in Synth. Methods
...
Using a SummarizedMethodWithNames instead of a normal one enables human
readable variable names in WALA-Synthetic methods. This should help
when debugging.
2014-04-11 17:53:10 +02:00
Tobias Blaschke
ece98a0628
Tools to facilitate buildin Synth. Methods
...
Have a toolkit that aids in building WALA-synthetic methods by helping
to avoid common mistakes and managing SSA-Variables.
See bundled package-info.java for more detail
2014-04-11 17:53:10 +02:00
Tobias Blaschke
34faac169d
Fixes on AndroidAnalysisScope
...
Depending on the method used generating an AnalysisScope failed for
Android-Apps. Especially depending on wheater data was used from a
jar-resource or depending on exclusions.txt
2014-04-11 17:51:59 +02:00
Tobias Blaschke
6c5f243ea5
Add GoTo-instruction for Synt. Methods (limited)
...
Implemented the GoTo istruction reachable through the
JavaInstructionFactory.
Caution:
- It has to be asshured manually that a basic block starts at the target
- One may not jump to a Phi-Instruction
2014-04-11 17:50:17 +02:00
Tobias Blaschke
dcf5cd4a1c
On progress monitoring
...
Small changes on progrss monitoring that enable having an actual
progress-meter instead of just having heart-beat information.
2014-04-11 17:50:17 +02:00
Tobias Blaschke
9ba0c06cf3
Add misc helper functions
...
Added small helper functions that may provide handy
2014-04-11 17:50:17 +02:00
Tobias Blaschke
964a0d86b9
Debug-Output only
...
No changes on the inner workings, only provided better Debug-Messages.
2014-04-11 17:50:17 +02:00
Julian Dolby
63a7570bcf
require 1.7 SE
2014-04-11 10:00:39 -04:00
Juergen Graf
561472dfe5
new java versions in osx have different java.home - fix autodetection
2014-03-10 14:43:29 +01:00
Julian Dolby
3bc0ad9a2c
move java 7 dependent code to core, so util works with java 6
2014-03-03 14:30:19 -05:00
Martin Mohr
db263ecefc
additional 'pruning policy' to not prune anything; could be useful if one wants to temporarily switch off pruning without changing too much code
2014-02-25 16:59:08 +01:00
Martin Mohr
7f7684b57e
remove IBM header from class contributed by JOANA project
2014-02-25 16:56:58 +01:00
Juergen Graf
ce833aefe2
fix bug: count only really unresolved classes in ClassHierarchy
2014-02-17 15:01:18 +01:00
Julian Dolby
4c25c40789
type generalization
2014-02-08 22:52:19 -05:00
Juergen Graf
6d0a6ee0e8
add return value keys for RTA pointer analysis
2014-02-04 04:02:30 +01:00
Sam Blackshear
928555d425
Update SSAConditionalBranchInstruction.java
...
Changing SSAConditionalInstruction.isObjectComparison(): previous definition returns true for comparisons of Primordial scope objects, but false for Application scope objects. The update version returns true in both cases
2013-12-27 13:06:39 -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
Martin Mohr
dcfd813ced
convert default pruning policy into public singleton
2013-10-28 16:52:42 +01:00
Martin Mohr
30d6a458c3
extend the call graph pruner to allow for other pruning policies than 'keep branch if you find application node on it'
2013-10-28 16:42:36 +01:00
Julian Dolby
cfb516a758
code to handle 'Class-Path' in jar files added to the scope. done for a
...
specific use, and so probably a little flaky.
2013-10-01 13:59:30 -04:00
Julian Dolby
a8fdf96cde
fix (i think) to edge computation caching
2013-09-26 13:15:32 -04:00
Manu Sridharan
8984637b86
make classes public. Fixes #32
2013-09-16 10:32:29 -07:00
Martin Mohr
3a454d01bd
fallback ContextInterpreter to avoid CodeScanner if this would crash
2013-08-28 18:46:45 +02:00
Martin Mohr
cbb3f5db7b
Bugfix: kill evil, cache-killing line
2013-08-21 16:55:42 +02: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
e11f8b3182
patch to improve mapping of classes to source files
2013-07-08 15:26:28 -07:00
Juergen Graf
cdaaddf88b
Merge branch 'wala' into master
2013-07-02 14:23:24 +02:00
Manu Sridharan
b984760100
support for reading method parameter annotations from Java bytecodes
2013-06-28 11:44:47 -04:00
Julian Dolby
55b64712fc
merge conflict
2013-06-25 12:02:12 -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
Manu Sridharan
05a9961108
add missing @Override annotations; no semantic change
2013-06-10 14:37:19 -07:00
Manu Sridharan
0a7a3092b1
trying to get around classloading issues
2013-05-27 09: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
7ca109967d
read J2SE jars from bootclasspath if wala.properties cannot be loaded
2013-05-25 16:05:25 -07:00
Andreas Sewe
dc03348bce
Fix thread-safety bug in BytecodeClass.computeMethodMap
...
The map must not be modified after BytecodeClass.methodMap
has become non-null.
2013-05-24 10:25:01 +02:00
Manu Sridharan
3b1889121b
add missing copyright headers
2013-05-22 15:39:19 -07:00
Julian Dolby
dd6510da29
Merge branch 'master' of https://github.com/wala/WALA.git
2013-05-15 14:04:44 -04:00
Manu Sridharan
c4ce3999cd
fix possible NPE
2013-05-15 10:55:58 -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
16a0e02fa0
add utility methods for creating n-CFA call graph builders
2013-05-10 20:55:13 -07:00
Manu Sridharan
89e90cd44e
rename computeMethodMap() to computeMethodMapIfNeeded()
2013-05-07 14:59:12 -07:00
Andreas Sewe
bc2594237b
Made BytecodeClass.computeMethodMap thread-safe
2013-05-07 14:56:06 -07:00
Andreas Sewe
d0b5e8ddd2
Made TypeName.findOrCreate thread-safe
2013-05-07 14:54:14 -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
eac23e97a9
enable reading scope files from jars
2013-05-02 11:43:49 -07:00
Manu Sridharan
e6bef253ff
Merge branch 'master' into maven
2013-05-02 10:58:55 -07:00
Manu Sridharan
897268c7f9
fix comment
2013-04-30 12:09:55 -07:00
Manu Sridharan
1f254e9b74
formatting, fix warnings
2013-04-29 10:12:12 -07:00
Marcel Bruch
7c2d18cd58
[releng] added preliminary maven tycho build support
2013-04-29 13:13:22 +02:00
Manu Sridharan
f439646cb1
fix potential NPE in AbstractRootMethod.addAllocation()
2013-04-15 08:58:42 +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
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
Manu Sridharan
368daf9427
organize imports
2013-04-09 14:16:01 -07:00
Manu Sridharan
a7195852b1
don't cache synthetic method IR / DU in ExplicitNodes
2013-04-09 10:01:19 -07:00
Cosmin Radoi
d137143ecf
warning on SSAInstruction equals()
2013-04-08 17:08:32 -05:00
Manu Sridharan
0204a7fead
Merge pull request #15 from cos/cgnode-weakref-ir-defuse
...
use WeakReference so that CGNode.getIR() doesn't hit the cache too often
2013-04-08 14:27:50 -07:00
Manu Sridharan
9549da9954
read runtime-visible annotations for fields
2013-04-08 13:50:26 -07:00
Manu Sridharan
fa14d7a73d
Require that gen'd vector contains 0. fixes #8
2013-04-08 10:51:25 -07:00
Julian Dolby
321e925660
work on CHA
2013-04-03 12:12:43 -04:00
Juergen Graf
61d7a33928
remove warnings in com.ibm.wala.core
2013-03-12 00:50:17 +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
Cosmin Radoi
3b48685d1d
use WeakReference so that CGNode.getIR() doesn't hit the cache too often
2013-02-19 15:30:06 -06:00
Manu Sridharan
1cf9a0008b
improve javadoc
2013-02-12 17:15:04 -08:00
Manu Sridharan
8e8e5fa8ba
Merge branch 'minor' of https://github.com/cos/wala into cos-minor
...
Conflicts:
com.ibm.wala.core/src/com/ibm/wala/dataflow/IFDS/VectorKillFlowFunction.java
2013-02-06 16:54:46 -08:00
Cosmin Radoi
aa6487fafc
missing VectorKill println method
...
modeled after the VectorGen method
2013-02-06 18:21:01 -06: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
Martin Mohr
8806b7c119
refine last commit
2013-01-31 16:48:04 +01:00
Martin Mohr
b21fd9afb3
relax visibility of some methods in SSACFG (for dalvik frontend)
2013-01-31 16:41:27 +01:00
Manu Sridharan
590347f171
Properly fix path-with-spaces bug.
...
The previous fix happened to work, but it did the URL decoding
in the wrong place.
2013-01-30 21:05:23 -08:00
Manu Sridharan
182363bf88
fix bug involving paths with spaces
2013-01-30 17:29:41 -08:00
Manu Sridharan
ec8a0f1294
Properly return null as default constructor of an array.
...
Patch from Christophe Foket on the mailing list.
2013-01-25 10:29:49 -08: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
6ed7b5a88e
javadoc
2013-01-10 09:48:38 -08:00
Manu Sridharan
29c73cea83
Merge branch 'lexical-access-info'
2013-01-09 14:27:14 -08:00
Manu Sridharan
202d5d525f
small Javadoc fix
2013-01-09 14:25:41 -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
8ed998a249
extract some generally useful code from ModRef
2013-01-03 15:57:38 -08:00
Juergen Graf
0d12f90232
add additional definition of natives.xml that has no references to com.ibm.wala.model classes
2012-12-18 14:11:55 +01:00
Juergen Graf
41fdb087bb
ignore nativespec if attribute is null
2012-12-15 03:59:24 +01:00
Manu Sridharan
77b81b4181
Handle duplicate field names between subclass and superclass.
...
Patch from Christophe Foket on the mailing list.
2012-11-30 09:18:00 -05:00
Juergen Graf
9fac9e9a30
Merge branch 'wala' into master
2012-11-30 04:46:24 +01:00
Manu Sridharan
070e3989cf
fix missing detection of certain static initializer calls
...
Patch from Christophe Foket on the mailing list.
2012-11-27 14:04:00 -05:00
Manu Sridharan
821479d1a6
remove unnecessary casts
2012-11-21 11:39:25 -08:00
Juergen Graf
b82d5dba90
Merge branch 'wala' into master
2012-11-06 04:23:10 +01:00
Juergen Graf
8383eb440f
make mutable cfg an actual control flow graph
2012-11-05 21:30:59 +01:00
dolby
fae5c86114
fixes for users of JDT interfaces, such as Miniatur/MemSAT
2012-10-01 13:11:10 -04:00
Manu Sridharan
24eb803211
organize imports; no semantic change
2012-09-04 16:24:37 -07:00
Manu Sridharan
60db861a5f
complete conversion to Unix line endings
2012-09-04 16:05:49 -07:00
Manu Sridharan
56f3d847a5
more conversion to Unix line endings
2012-09-04 15:59:50 -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
dolby
4cc3a08b63
comment attempting to explain how 'dimensionality' works
2012-08-31 15:45:56 -04:00
dolby
319eacc529
merge changes and changes for atomic sets work
2012-08-29 16:35:34 -04: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
Manu Sridharan
06205fdb73
patch from mailing list to handle different constructor arguments for ClassLoaderImpl
2012-08-28 10:51:20 -07:00
dolby
e946d1deb9
fixes for misuse of getDimensionality
2012-08-28 12:02:48 -04:00
dolby
ffff4c244d
fix for bug in reading xml summaries
2012-08-28 11:10:46 -04:00
Manu Sridharan
bb2c45803c
Merge branch 'github_master' into internal_merge
2012-08-21 16:57:27 -07:00
Manu Sridharan
cf04da7613
handle a couple of corner cases. some (very) basic support for pointer / reference types
2012-08-21 16:56:50 -07:00
Manu Sridharan
bab4777e4c
some (very) basic support for pointer / reference types
2012-08-21 16:56:18 -07:00
Manu Sridharan
800203a71f
improved documentation
2012-08-21 16:55:30 -07:00
Juergen Graf
b8477d2144
incorporate changes from other branch
...
- basic compatibility with Java 7 (i.e., don't crash immediately)
- Added utility class for converting call graphs to JSON.
- add edgeExists CLI option to check if some edge exists in the call graph
2012-08-06 12:49:03 +02:00
Manu Sridharan
3317c1ccf6
basic compatibility with Java 7 (i.e., don't crash immediately)
2012-08-03 15:41:09 -07: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
Manu Sridharan
2299d8a13a
improve caching of receiver values when handling dispatch
2012-07-17 12:11:55 -07:00
Juergen Graf
883b5f2437
detect catch all and remove exception flow to exit then
2012-07-17 20:05:51 +02:00
dolby
4b3cba710d
changes from upstream
2012-06-29 15:47:54 -04:00
Juergen Graf
cb02231692
Read jar files from input stream as a fallback. Do not rely on existsing files.
2012-06-08 15:24:38 +02:00
Juergen Graf
10792bec73
Merge branch 'wala' into master
2012-05-16 14:02:20 +02:00
Manu Sridharan
0938354288
Fix for bug reported by Thomas Deuster on mailing list.
...
The issue was that it's possible for multiple invoke instructions with
different actual parameters to be associated with a single CallSiteReference.
In this case, the invariant parameters for each invoke instruction may differ.
2012-05-15 09:40:39 -06:00
Daniel Perelman
abeba01a16
Made CallString's .toString() more informative.
2012-05-14 17:58:29 -07:00
Daniel Perelman
49c00ca231
Made CallStringContextSelector correctly call base's getRelevantParameters().
2012-05-14 17:57:28 -07:00
Daniel Perelman
f049b24934
Added getters used in my code.
2012-05-14 17:55:40 -07:00
Manu Sridharan
c415f3e0fd
Enhanced pointer analysis to reason that arrays known to be of zero length
...
cannot have any contents.
2012-05-09 15:35:54 -06:00
Manu Sridharan
28a351200d
handle invocations of static methods in ReceiverTypeContextSelector (patch from Daniel Perelman)
2012-05-03 16:30:55 -06:00
Juergen Graf
c71fa6674a
Merge branch 'wala' into master
2012-04-19 14:39:05 +02:00
Juergen Graf
88ca1eafad
interproc exception analysis: remove unneccessary special treatment of fakeRoot
2012-04-19 14:29:58 +02:00
Manu Sridharan
02ba68a349
update manifests for move of the CorePlugin class
2012-04-17 15:37:27 -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
e0d3df8ea7
Merge branch 'fileprovider-instance' into eclipse-dep
2012-04-16 14:57:42 -04:00
Manu Sridharan
2edb070437
changed FileProvider to have instance methods
2012-04-16 14:57:14 -04:00
Manu Sridharan
1b4e0828d6
remove Eclipse dependencies from wala.core MANIFEST.MF; still need to fix up code
2012-04-16 13:47:49 -04:00
Juergen Graf
6a8e8fe018
remove no longer needed work-around for duplicate field names
2012-04-04 11:53:17 +02:00
Juergen Graf
1090e59717
Merge branch 'wala' into master
2012-04-04 11:27:23 +02:00
msridhar1
676a72bac2
fix for issue 3506051 from SourceForge tracker
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4555 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-04-03 22:48:10 +00:00
msridhar1
a28f0df3b7
change resolveField() to pass type when resolving a field
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4553 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-04-03 22:41:21 +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
Juergen Graf
34674387e6
code cleanup of nullpointer analysis
...
- replace tabs with whitespace
- adjust documentation to refer to renamed stuff
2012-03-30 13:43:57 +02:00
Juergen Graf
acde4add28
add toString method for interprocedural exception analysis result
2012-03-30 13:10:40 +02:00
Juergen Graf
2fdd730c60
add assertion for name clashes of field with same name but different type - as it may occur in obfuscated bytecode
2012-03-29 02:12:29 +02:00
Juergen Graf
0a5cc40347
added interface for convenient computation of interprocedural nullpointer analysis
2012-03-29 02:08:05 +02:00
Juergen Graf
5ab421aba2
added a small disclaimer to the interprocedural nullpointer analysis
2012-03-29 01:08:31 +02:00
Juergen Graf
d35bde3fe9
add cancel exception to interproc nullpointer analysis
2012-03-29 00:57:09 +02:00
Juergen Graf
99a5958c7e
nullpointer analysis code cleanup
2012-03-29 00:50:05 +02:00
Juergen Graf
9033474819
first version of interprocedural nullpointer analysis
2012-03-28 22:30:16 +02:00
Juergen Graf
f7c56b0b34
fix typo in intrapro nullpointer analysis
2012-03-28 22:29:07 +02:00
Juergen Graf
d94a3d5b64
work around multiple fields with single name
2012-03-19 14:58:41 +01:00
Juergen Graf
7477b1730b
Merge branch 'wala' into master
2012-03-19 13:33:48 +01: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
5f992d2ef6
avoid hitting IR cache unnecessarily
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4524 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-21 13:47:44 +00:00
dolby-oss
c187dcaeb0
add source-level names to dump of IR
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4522 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-21 13:46:11 +00:00
msridhar1
ec7be6dc39
Got rid of IntegerContextItem and BooleanContextItem and replaced them
...
by uses of ContextItem.Value.
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4514 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:27:16 +00:00
msridhar1
ddfb019e68
optimization in dispatch logic. further optimization possible, and more
...
comments still needed
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4512 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:26:47 +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
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
a34b8967e1
Additional timeout check in SSAPropagationCallGraphBuilder.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4473 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-02-17 20:17: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
5a3470a674
remove debug print
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4424 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-24 16:28:57 +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
2f86937ae1
some more diagnostic code in TestUtil, related changes
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4399 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:46:27 +00:00
msridhar1
9e386ff310
re-implement delegating context, to ensure we have a proper equals() and hashCode()
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4398 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:46:08 +00:00
msridhar1
6a2dc42d49
fix a couple of NPEs
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4338 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:28:02 +00:00
msridhar1
14c4cdb251
bug fix in SSAPropagationCallGraphBuilder: allow empty points-to sets for interesting non-receiver arguments
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4335 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:27:03 +00:00
msridhar1
33378fd071
Added option to warn about big points-to sets.
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4330 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:25:20 +00:00
msridhar1
8ce7db97ea
more global object handling; needs documentation
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4324 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:23:56 +00:00
msridhar1
306bc98bf5
progress on modeling the global object
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4321 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-06 21:22:58 +00:00
msridhar1
4edec7f18e
remove unused imports
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4297 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2012-01-05 20:10:34 +00:00
msridhar1
d326e5e9f2
bug fixes
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4292 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-12-28 17:03:55 +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
Martin Mohr
51eefa355b
find java runtime lib if property has not been set
2011-11-22 14:26:56 +01:00
Juergen Graf
bf923dc2b5
progressmonitor can now be used to cancel operations
2011-11-22 14:26:30 +01:00
Juergen Graf
8494f98106
Merge branch 'wala' into master
2011-11-09 13:03:31 +01:00
sjfink
d75e4455c6
delete obsolete comment
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4285 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-10-26 13:53:29 +00:00
Juergen Graf
0f66936790
Merge branch 'wala' into master
2011-10-26 14:34:59 +02: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
Juergen Graf
44a3dae093
Merge branch 'wala' into master
2011-10-21 15:15:20 +02:00
msridhar1
2723084bac
ran into a method with 30 parameters. hopefully this is enough?
...
git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@4278 f5eafffb-2e1d-0410-98e4-8ec43c5233c4
2011-09-25 21:52:20 +00:00
Juergen Graf
fa5a0aa452
mod ref field access analysis
2011-09-20 15:50:39 +02:00