Commit Graph

2004 Commits

Author SHA1 Message Date
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