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
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
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
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
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
671bbcec01
Method Summaries: add support for reading array load instructions from XML
2014-05-16 15:19:21 +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
92bec0cc0b
move to Reader API to help with annoying /r/n issues is source mapping
2014-04-29 11:21:01 -04:00
Manu Sridharan
600e5ad50f
synchronize methods. Fixes #43
2014-04-24 12:35:34 -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
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
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
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
Manu Sridharan
f439646cb1
fix potential NPE in AbstractRootMethod.addAllocation()
2013-04-15 08:58:42 +02: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
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
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
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
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