piazzesiNiccolo-GS
released this
12 Dec 10:20
·
5 commits
to master
since this release
Bugfixes
- Make sure injected initialization methods in interfaces have the correct access flags.
Improved
InstructionSequenceMatcher
now supports matching of primitive array constants.- Support propagation of extra specified taints in
JvmTaintTransferRelation
. - Introduce
ReflectiveModel
andReflectiveModelExecutor
to simplify the creation and analysis ofModel
s.
API improvements
- Rename
CallVisitor
toCallHandler
and add extra parameters to handle calls accounting for more data. - Add
ClassUtil.isClassInitializer(String)
andClassUtil.isInstanceInitializer(String)
. - Extend
MemberCollectionFilter
to accept aSet
of any subtype ofMember
.
API changes
- Move classes related to
Model
to theproguard.evaluation.value.object.model
package. StringSharer
now uses a string pool to share strings, instead of traversing references.
API changes for the dataflow analysis code
There are several changes to the dataflow analysis code with the objective of eliminating unnecessary abstraction and
make its usage easier. This includes:
- Remove
MemoryLocation
, useJvmMemoryLocation
instead. - Make
JvmMemoryLocation
independent of the type of value contained in the analysis' state. The type of the value now needs only to be provided when callingextractValueOrDefault
. - Remove all code related to the tree heap model for taint analysis.