👀 Features
- Qilin PTA by @swissiety in #786
- implement OnTheFlyCompileAnalysisInputLocation by @swissiety in #951
- CheckInitValidator changes by @akshitad11 in #822
- Class modifiers validator changes by @akshitad11 in #842
- Method signature validator by @akshitad11 in #860
- AnalysisInputLocation for Jimple as String by @swissiety in #868
- Adding FieldModifiersValidator and test cases by @akshitad11 in #892
- add backward analysis by @shenjunjiekoda in #900
- Add deterministic printing option by @stschott in #919
- add
ReversePostOrderBlockTraversal
and updateDominanceFinder
by @shenjunjiekoda in #928 - Types validator changes by @akshitad11 in #929
🔀 Refactorings/API Changes
- Rewrite
LocalSplitter
by @Timbals in #841 - Refactor/new localsplitter by @swissiety in #848
- Improve/interceptors by @swissiety in #858
- set BytecodeBodyInterceptors as default for BytecodeFrontend based InputLocations by @swissiety in #847
- Streamification of getUses() and ...Defs() by @swissiety in #862
- Use more precise type by @Liyw979 in #871
- Variables with the same debugname, used in different scopes for different memory, leads to ambiguities and multiple Locals of the same name by @swissiety in #876
- precompute hashCode for JavaClassType and SootClassMemberSignature by @Liyw979 in #881
- replace locals in body builder after types are resolved by @guiyj in #877
- name the Local for the "this" reference: this by @swissiety in #879
- Make JavaView more functional style by @Liyw979 in #882
- enable TypeAssigner by default and explain BodyInterceptors by @swissiety in #883
- Adapt IdentityValidator with test cases by @Momo-Not-Emo in #867
- Adapt method validator and add test cases by @Momo-Not-Emo in #866
- improve validator by @swissiety in #884
- Adapt traps validator from old soot with a test case by @Momo-Not-Emo in #872
- Changed interceptors package by @palaniappan1 in #887
- remove arbitrarily chosen upper limit from testcase by @swissiety in #893
- Legacy Jimple Parsing - Transient modifier by @stschott in #909
- Add check for redundant trap handlers by @stschott in #910
- Transfrom varargs method modifier back into transient by @stschott in #913
- update implementation for
BackwardsStmtGraph
and addPostDominanceFinder
utility by @shenjunjiekoda in #921 - create issue templates by @swissiety in #926
- Deleting Values validator by @akshitad11 in #904
- simplify LRUCache implementation - make use of LinkedHashmap+3rd ctor by @swissiety in #931
- Improve performance - get rid of block.indexOf(Stmt) by @swissiety in #933
- streamify TypeHierarchy by @swissiety in #927
- Improve the expandability of the RTA call graph algorithm by @JonasKlauke in #949
👷 Fixes
- fix cast error for
Operand
s with side effects by @Timbals in #846 - fix inlineExceptionHandler /java.bytecodefrontend by @swissiety in #857
- Fix develop state & method sub signature equals by @swissiety in #864
- fix the
TypeAssigner
/TypeResolver
by @Timbals in #869 - fix StmtGraph.replaceNode(sameStmt, sameStmt) and Stmt.withNewUse() by @swissiety in #885
- fix bad import by @swissiety in #891
- fix failing Aggregator by @swissiety in #912
- Fix self-referencing issue in
getMethodSignatureInSubClass
atICFGDotExporter
by @shenjunjiekoda in #920 - Fix/stmtgraphiterator by @swissiety in #922
- Fix not all traps are iterated in ctx/LabelNode as last instruction by @swissiety in #940
- Fix Type.getValueBitSize in case of a CharType by @marcus-h in #943
- Avoid a potential CCE in Position.equals by @marcus-h in #945
- Fix method sub signature by @swissiety in #944
- fix equals to check for same type by @JonasKlauke in #946
- fix qilin javadoc by @kadirayk in #950
- Reenable previously broken test by @ThexXTURBOXx in #878
- improve Aggregator performance by @swissiety in #916
🛠️ Dependency Updates
- Migrate test system from junit 4 to junit 5 by @JonasKlauke in #856
- Sync antlr-runtime and antlr-maven-plugin versions to get rid of warning by @stschott in #918
📜 Docs
- Update installation.md by @ReshmaSobhaNair in #844
- Update getting-started.md by @ReshmaSobhaNair in #840
- fix doc: add missing colons by @swissiety in #908
❤️ Contributors
Thank you to all contributors of this release 👍
✨ Welcome New Contributors!
- @guiyj made their first contribution in #877
- @Momo-Not-Emo made their first contribution in #867
- @shenjunjiekoda made their first contribution in #900
- @marcus-h made their first contribution in #943
Full Changelog: v1.2.0...v1.3.0