Manu Sridharan
bfe378e7f2
1.4.0 release
2017-03-21 08:59:08 -07:00
Manu Sridharan
a3f4c10c20
Merge pull request #150 from liblit/warning-fixes-potential-programming-problems
...
Resolve all Eclipse “Potential Programming Problem” warnings
2017-03-18 15:00:53 -07:00
Ben Liblit
421dcd4991
Change two "if" checks that can never be true into asserts
...
Eclipse warns that the "if" statements' true blocks are dead, and
indeed the conditions being tested here can never be true. It's a
little subtle why that's so, though. Changing them to "assert"
statements removes two warnings about deprecated code, while still
helping human readers understand what invariants must hold here.
2017-03-17 22:03:22 -05:00
Ben Liblit
296657a394
Suppress 88 Eclipse warnings about dead code
...
All of these involve conditionals that check some static, final debug
flag or debug level. The code will indeed be dead if WALA is built
with those debug facilities turned off. But we still want the code
present in case someone needs to turn some aspect of debugging on for
a while.
2017-03-17 21:49:34 -05:00
Ben Liblit
dfa8f15dac
Suppress two deprecation warnings about an internal CGNode API
...
The supposedly deprecated function (CGNode.addTarget) really seems to
be intended for internal use, not deprecated per se. We are an
internal user here, so presumably it's OK for us to be using this API
entry point.
2017-03-17 21:18:36 -05:00
Manu Sridharan
811ce5257c
Merge pull request #145 from ponder-lab/IAnalysisCacheView
...
Additional refactorings for IAnalysisCacheView.
2017-03-15 13:18:12 -07:00
Ben Liblit
ab5aa90114
Suppress an Eclipse warning about unsafe varargs
...
Nothing we can do about this statically, due to Java limitations about
non-reifiable types.
2017-03-15 11:24:45 -05:00
Ben Liblit
c382934933
Fix an Eclipse warning about an unchecked cast
2017-03-15 11:24:40 -05:00
Ben Liblit
fde65340d2
Fix 132 Eclipse warnings about using raw generic types
2017-03-15 11:08:20 -05:00
Raffi Khatchadourian
d95b6e33f0
Merge remote-tracking branch 'origin/master' into IAnalysisCacheView
2017-03-14 17:24:19 -04:00
Julian Dolby
7e3066b6cd
bug 144
2017-03-14 10:05:18 -04:00
Raffi Khatchadourian
8fd41c148f
Use IAnalysisCacheView instead of AnalysisCache.
...
It seems that some additional types need to be changed due to
d24519e974
. This may not be inclusive,
however.
2017-03-13 16:27:05 -04:00
Julian Dolby
a1dd19b8d0
Merge branch 'pull-request__android-bugfixes' of https://github.com/joana-team/WALA
2017-03-11 16:56:09 -05:00
Julian Dolby
605e7373ce
Merge branch 'pull-request__exception-pruning-for-safe-array-creation' of https://github.com/joana-team/WALA
2017-03-11 16:38:03 -05:00
Julian Dolby
db65c16863
Merge branch 'pull-request__typeannotations' of https://github.com/joana-team/WALA
2017-03-11 16:19:50 -05:00
Julian Dolby
2a4d24dc6f
Merge branch 'pull-request__nullpointer-bugfixes' of https://github.com/joana-team/WALA
2017-03-11 14:48:13 -05:00
Julian Dolby
f595eb357e
add some abstraction to IR, using IRView
2017-03-11 13:22:45 -05:00
Julian Dolby
a1f8894ba1
Merge branch 'master' of https://github.com/wala/WALA
2017-03-10 13:49:09 -05:00
Julian Dolby
0545060886
merge
2017-03-10 13:49:07 -05:00
Julian Dolby
016c3940e8
Merge branch 'pull-request__misc-bugfixes' of https://github.com/joana-team/WALA
2017-03-09 08:59:40 -05:00
Julian Dolby
0784a9da6a
Merge pull request #124 from joana-team/slightly-more-informative-output
...
display which classes each handler catches when outputting IR
2017-03-09 08:51:06 -05:00
Julian Dolby
7b393a7da2
fix for missing Java 8 feature
2017-02-24 22:29:14 -05:00
Julian Dolby
96be295500
grr. commit -a does not find new files.
2017-02-02 20:46:34 -05:00
Julian Dolby
b65517b958
forgot some files
2017-02-02 20:44:27 -05:00
Julian Dolby
d24519e974
cross-cutting changes to make more of WALA runnable with TeaVM. The biggest change is refactoring to AnalysisCache and friends; since TeaVM does not support SoftReference, I needed to add a layer of interfaces so that I can use a more simpleminded caching implementation for TeaVM. There are other changes to Module and friends to break connections with File and URL, which also cause TeaVM grief. I also organized imports in many places to remove unused types that caused trouble.
2017-02-02 20:33:27 -05:00
Martin Mohr
64823846c0
get rid of HashCodeComparator and all its usages
...
This addresses both https://github.com/wala/WALA/issues/133 and
https://github.com/wala/WALA/issues/88
2017-01-26 14:16:48 +01:00
Julian Dolby
2396d0fad3
Revert "Revert "fixes to getting source positions from JVML""
...
This reverts commit 619df0a83d
.
2017-01-19 19:12:22 -05:00
Julian Dolby
619df0a83d
Revert "fixes to getting source positions from JVML"
...
This reverts commit 9e35099326
.
2017-01-19 18:49:02 -05:00
Julian Dolby
9e35099326
fixes to getting source positions from JVML
...
CAst rewriter abstraction
2017-01-19 17:52:42 -05:00
Julian Dolby
74cc8454e3
make more of WALA run on TeaVM
2017-01-17 13:14:56 -05:00
Julian Dolby
c9b1006305
changes for allowing seq. and conc. CHAs
2017-01-12 16:34:54 -05:00
Julian Dolby
602800524b
Hacks to make WALA run on TeaVM, and hence be able to run in Web browsers. TeaVM has some warts, but overall it is a very nice mechanism to run Java code on the browser. I have examples of analysis actually running in Firefox, which enables supportive tools. So, for those changes that are not ideal, such as dropping the ConcurrentHashMap in ClassHierarchy, we should find a way to support both them and TeaVM, based on demand.
2017-01-12 12:25:37 -05:00
Julian Dolby
37989efb6a
adapt to teavm changes
2017-01-03 21:06:21 -05:00
Manu Sridharan
f42ad7aea6
Fix #127
...
Check that we only loop over the parameters actually being passed at
the call site in the SDG construction.
2017-01-02 15:36:38 -08:00
Martin Mohr
b9fb5e0481
display which classes each handler catches when outputting IR
2016-12-09 16:49:56 +01:00
Martin Mohr
4228bac5ff
If we see a call to an unknown method, conservatively add edges to all catch handlers
...
This is an attempt to fix issue #123
2016-12-09 16:46:01 +01:00
Martin Hecker
d5dee55918
correctly prune safe array creation for multi-dimensional array creation
2016-12-07 19:27:59 +01:00
Martin Mohr
f7299b003b
fix compilation problems caused by merge
2016-12-07 17:56:59 +01:00
Martin Hecker
64c4034dca
fix: properly propagate NullPointerState along phi nodes in the NullPointerExceptionAnalysis
2016-12-07 17:56:59 +01:00
Martin Hecker
edf4f8ed6f
Attempt to fix intraprocedural Nullpointer analysis by respecting phi nodes, and correctly initializing entry variables.
...
Since SSAPhiInstructions are never visited by NullPointerTransferFunctionProvider.TransferFunctionSSAVisitor,
we now respect phi instructions present at a given block by providing additional NodeTransferFunctions, improving precision.
Formerly, meets would lead to incorrect results due to incorrect initialization of initial data flow facts.
These are now properly initialized, interpreting
"State.BOTH" to mean: both "null" and "non-null" are possible values for the given variable, and
"State.UNKNOWN" to be the absurd assertion.
The initial fact at the entry block assumes variables to be BOTH, other blocks are initialy assumed unreachable and hence their variables to be UNKNOWN.
2016-12-07 17:56:48 +01:00
Martin Mohr
5624ad78fa
really turn off short circuit optimization
...
The setting should comply with the comment. Plus,
turning it on seems to lead to some unsoundness because
exception points-to sets become empty but should not be
2016-12-07 16:11:19 +01:00
Martin Hecker
867a8ecf2b
When creating TypeAnnotations with LocalVarTarget, somewhat deal with class files that lack a LocalVariableTable
2016-12-05 18:52:38 +01:00
Martin Hecker
de0f9c2a1f
WALA: Provide acces to JSR 308 Annotations via new Class TypeAnnotation.
...
Access is provided via corresponding methods in FieldImpl, ShrikeCTMethod and ShrikeClass.
Since we do not currently have implementation of these methods for front-ends other than Shrike, these new methods are not yet made available in the corresponding interfaces.
2016-12-05 18:52:38 +01:00
Martin Hecker
8e773fcf88
in order to look up instruction-indices from a bytecode-indices, do a binary search on the existing pcMap array (as suggested by Julian Dolby).
...
also see https://sourceforge.net/p/wala/mailman/message/35518796/ and answers.
2016-12-05 18:52:37 +01:00
Martin Mohr
dff20ac49c
make JarStreamModule inherit the assumptions of JarInputStream's constructor
2016-12-05 18:50:21 +01:00
Martin Mohr
c00d9ec7af
avoid NPE while constructing debug message
2016-12-05 18:23:55 +01:00
Martin Mohr
3283de6c44
promote visibility of some handy but harmless methods
2016-12-05 18:23:55 +01:00
Martin Mohr
d830780242
slight fix of type parameter handling in PDG
2016-12-05 18:22:38 +01:00
Martin Mohr
4a7efc8c78
array creation is also safe if length comes from another array's length
2016-12-05 18:21:05 +01:00
Martin Mohr
13a7b5459e
prune exceptions for array creations of constant, non-negative size
2016-12-05 18:21:05 +01:00