Commit Graph

4934 Commits

Author SHA1 Message Date
Ben Liblit b3293ecc3e Enforce restrictions on the model behavior class statically
If a client violates these restrictions, I prefer that their code fail
at compile time instead of run time.  Changing a few key types from
`Class` to `Class<? extends AbstractAndroidModel>` gives us precisely
the static enforcement we need and lets us remove an
`AbstractAndroidModel.class.isAssignableFrom` run-time check.

However, this does change the public API of `AndroidEntryPointManager`
in two ways.  The `getModelBehavior` and `setModelBehavior` methods now
respectively accept and return `Class<?  extends AbstractAndroidModel>`
instead of `Class`.  Is tightening up a public API in this manner
considered OK?
2016-11-26 22:39:37 -06:00
Ben Liblit 20014e2cb2 "plugin" does not exist here, and therefore needs no localization
This fixes one Eclipse "no valid properties files exist in the
localization directory specified" warning.

Ordinarily I would also change this project's configuration to treat
this warning as an error in the future.  That's a good way to
discourage regressions.  Unfortunately in this particular case I
cannot find a setting that has the desired effect, even after hunting
around in Eclipse PDE sources.  It seemed that setting
"compilers.p.unknown-resource=0" in
"com.ibm.wala.util/.settings/org.eclipse.pde.prefs" should do the
trick, but it does not.  I don't know why.
2016-11-26 21:01:53 -06:00
Ben Liblit d4a0a5ddd4 Delist a JAR that is not actually present
This resolves one Eclipse "'...' build entry is missing" warning.

Also update the project configuration to treat this warning as an
error.  This should discourage commits that create new instances of
this sort of problem in the future.
2016-11-26 20:39:26 -06:00
Ben Liblit 8b7a163110 The "lib" subdirectory contains no Java sources
This resolves one "'...' is not a source folder" Eclipse warning.

Also update the project configuration to treat this warning as an
error.  This should discourage commits that create new instances of
this sort of problem in the future.
2016-11-26 20:39:26 -06:00
Ben Liblit 173209a7bb Eclipse wants "META-INF/" to be included in "bin.includes"
Other subdirectories' "build.properties" generally seem to include this
already, so who am I to argue?

This resolves one "An entry for META-INF/ is required in bin.includes"
Eclipse warning.

Also update the project configuration to treat this warning as an
error.  This should discourage commits that create new instances of
this sort of problem in the future.
2016-11-26 20:39:12 -06:00
Manu Sridharan 4080e49a5a Merge pull request #109 from liblit/warning-fixes-missing-non-null-by-default
Ignore missing non-null-by-default annotations in Eclipse
2016-11-26 17:56:10 -08:00
Ben Liblit dace7b709f Ignore missing non-null-by-default annotations in Eclipse
In general, the WALA code base is not really ready for nullness
checking.  It would be nice if we got there some day, but I'm not
planning to take that on now or any time soon.  Until then, it's not
useful to warn about missing @NonNullByDefault declarations on WALA
packages.

See also older commit 7b6811b.
2016-11-26 18:47:35 -06:00
Ben Liblit c74d5094c8 Merge remote-tracking branch 'official/master' 2016-11-25 14:54:10 -06:00
Julian Dolby ae57a7e947 further work on fix to cast nonsense 2016-11-24 11:40:36 +08:00
Julian Dolby 66d9e896c4 remove unsafe cast 2016-11-22 10:37:04 +08:00
Julian Dolby 166af27427 clean up types 2016-11-22 10:35:56 +08:00
Ben Liblit 9d9d4d2d78 Merge branch 'master' of github.com:wala/WALA 2016-10-27 10:50:35 -05:00
Brian Pfretzschner 9de3da19fb NodeJS Support, including Ant build script to download Nodejs Core Library files 2016-10-27 16:37:33 +02:00
Julian Dolby 8855f80c97 allow notion od edge labels to be overridden in the CDG 2016-09-26 19:42:19 -04:00
Julian Dolby f3b5d41af9 refactor CFG to separate instructions from CFGs; this is to allow code like CDGs to be reused without an IR. 2016-09-26 13:37:51 -04:00
Manu Sridharan 9b5845034f Merge pull request #105 from mherzberg/copy-dx-jar
Added build script step to copy dx.jar from Android SDK.
2016-09-21 12:13:03 -07:00
Michael Herzberg 68707c1208 Added build script step to copy dx.jar from Android SDK. 2016-09-21 08:47:03 +01:00
Julian Dolby 83799f0fea dd edge labels when printing labeled graphs 2016-09-20 21:41:03 -04:00
Manu Sridharan 1a7c527dbe Remove unused conditionals 2016-09-20 14:04:03 -07:00
Manu Sridharan e21ee9f5cf Do a shallow clone of DroidBench
This should (very slightly) speed up build times.
2016-09-20 13:55:47 -07:00
Manu Sridharan e4101510a2 Add IExplodedBasicBlock.getOriginalNumber()
This method is useful when reasoning about SSAPiStatements, as their
successor block number refers to original basic blocks, not exploded
blocks.
2016-09-20 13:50:43 -07:00
Manu Sridharan 2c9eec0cff Update callback APIs to expose path edge structure 2016-09-20 13:50:42 -07:00
Manu Sridharan 57198a22f3 Remove trailing whitespace; no functional change 2016-09-20 13:50:42 -07:00
Manu Sridharan b761e3871b Add new callbacks for tracking exploded supergraph
A subclass of TabulationSolver can now override the methods
newNormalExplodedEdge(), newCallExplodedEdge(), and
newReturnExplodedEdge() to take some action whenever (logically)
some edge in the exploded supergraph is "discovered" during
tabulation.
2016-09-20 13:50:42 -07:00
Julian Dolby 3156f03145 more CPA work 2016-09-19 13:51:18 -04:00
Julian Dolby 2948ecf31d rationalize names to ECJ 2016-09-18 19:47:14 -04:00
Julian Dolby c7971cb969 ajaxslt 0.8.1 2016-09-16 20:23:51 -04:00
Julian Dolby 2d150eae17 need to find new version of ajaxxslt; it is failing to download 2016-09-16 09:52:11 -04:00
Julian Dolby f5f2a9e778 need to find new version of ajaxxslt; it is failing to download 2016-09-16 09:01:53 -04:00
Julian Dolby 0475e2e712 need to find new version failing to download 2016-09-16 08:59:14 -04:00
Julian Dolby 93e165e64a CPA smoke tests 2016-09-16 08:14:33 -04:00
Julian Dolby d10a50fc32 CPA smoke test 2016-09-15 21:33:51 -04:00
Julian Dolby 8b2ab22335 support for full CPA, when desired. 2016-09-15 21:32:35 -04:00
Julian Dolby cfbef4fe47 clean up load additional file 2016-09-15 21:24:16 -04:00
Julian Dolby 7928e57435 clean up load additional file 2016-09-15 21:18:31 -04:00
Julian Dolby 5eb1c7bc1d HybriDroid support 2016-09-15 21:14:34 -04:00
Julian Dolby 1aa3d7fc59 fix bogus test of Date as property name 2016-09-15 21:08:05 -04:00
Julian Dolby 30bc2858c4 fix for slicer issue in javascript 2016-08-23 20:59:08 -04:00
Julian Dolby 0f0c3d6bd9 add more functionality to analysis engine: create SDGs and
parameterize to do both regular and field-based analysis in JavaScript
2016-08-18 22:43:12 -04:00
Manu Sridharan d0fdd2cdf0 Remove incorrect methods from ICFGSupergraph
These methods were constructing an IR based on some default
AnalysisOptions, which may not match the options used when constructing
the underlying CallGraph.  This mismatch can lead to bad bugs.
Instead of these methods, analyses should get IR directory from the
CGNodes via CGNode.getIR().

Ideally we would fix the methods and not change the interface, but
that would require knowing the right AnalysisOptions, which itself
would necessitate an interface change.
2016-08-11 11:24:50 -07:00
Julian Dolby 7d7dd17a47 minor fix to getting method annotations for dalvik 2016-07-28 16:11:16 -04:00
Julian Dolby 0b52e9389e Merge branch 'master' of https://github.com/wala/WALA 2016-07-25 21:41:11 -04:00
Julian Dolby 7b59f3141c fix analysis options in js engine 2016-07-25 18:34:40 -04:00
Manu Sridharan 315d836d18 Fix building jars with JDK 7 2016-07-22 14:46:35 -07:00
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 f5f75c7c66 find slf4j from maven 2016-07-05 20:01:04 -04:00
Julian Dolby 73747cbb86 fixes for work with ECJ 2016-07-05 19:37:36 -04:00
Ben Liblit 9db1494aa1 Merge branch 'master' of github.com:wala/WALA 2016-07-05 13:22:12 -05:00