Anders Schack-Mulligen
2925e45434
Java/Dataflow: Propagate MaD-id/model-id to PathGraph.
2024-04-12 09:19:51 +02:00
erik-krogh
8be7eadace
delete outdated deprecations
2024-01-22 09:11:35 +01:00
Tom Hvitved
f9dbf676a6
Java: Use FlowSummaryImpl from dataflow pack
2023-12-10 11:25:45 +01:00
Chris Smowton
77b1721542
Move TypeTestGuard's logic into Guard.appliesTypeTest
2023-11-30 11:24:06 +00:00
Chris Smowton
6583c72c5d
Restrict pattern type guards to account for nested record matching failures
2023-11-30 11:24:03 +00:00
Chris Smowton
0bb051e08c
First stab at implementing negative type-test logic for pattern-case
2023-11-30 11:24:03 +00:00
Chris Smowton
3d980b1684
Switch to using VariableAssign for instanceof and switch dataflow
2023-11-30 11:24:02 +00:00
Chris Smowton
fa09be0459
Ensure pattern-case and binding-instanceof are covered in all of type, dispatch and object flow
2023-11-30 11:24:02 +00:00
Chris Smowton
936c0206ea
Adapt ancillary analyses to record patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
daccd04087
Basic extraction of record patterns
2023-11-30 11:23:59 +00:00
Chris Smowton
f4b45fa511
Support switch cases with binding patterns
2023-11-30 11:23:58 +00:00
Anders Schack-Mulligen
9769953669
Java: Split the different layers of virtual dispatch into separate cached stages.
2023-10-27 09:40:20 +02:00
Chris Smowton
ac38d4c9c6
Mass rename L/RValue -> VarWrite/Read
2023-10-24 10:58:29 +01:00
Chris Smowton
f552a15aae
Mass-rename MethodAccess -> MethodCall
2023-10-24 10:30:26 +01:00
Anders Schack-Mulligen
ab334f6c1b
Java: Always apply heuristic query regardless of existing models.
2023-08-08 10:01:43 +02:00
Anders Schack-Mulligen
37455ec29e
Java: Replace ratpack test fix with general heuristic summary.
2023-08-03 10:04:06 +02:00
Tony Torralba
5330ce12cc
Use new TypeInputStream
2023-07-24 08:49:34 +02:00
Tony Torralba
2dbbcc2413
Java: Avoid low-confidence dispatch to InputStream methods
...
Also adds a neutral model for `InputStream.read`, which offers a high-confidence alternative for this method.
2023-07-19 11:30:53 +02:00
Chuan-kai Lin
ce464a7d69
Remove pragma[assume_small_delta]
2023-06-30 11:09:29 -07:00
Anders Schack-Mulligen
a9d2b936af
Java: Add qldoc.
2023-03-14 14:15:15 +01:00
Anders Schack-Mulligen
dbfc256f40
Java: Remove low-confidence dispatch to known neutrals.
2023-03-14 11:34:07 +01:00
Chris Smowton
62d10f91d8
Improve join ordering
2023-02-14 17:21:24 +00:00
Anders Schack-Mulligen
a1aeb995e6
Java: Apply deadcode guard to data flow nodes.
2023-02-03 16:16:39 +01:00
Anders Schack-Mulligen
d157e13318
Java: Switch DispatchFlow to typetracking.
2022-12-08 14:58:44 +01:00
Anders Schack-Mulligen
f17f19c821
Java: Switch to qualified imports.
2022-12-07 11:41:32 +01:00
Anders Schack-Mulligen
807f87e01f
Java: Adjust the prioritisation between MaD and source dispatch.
2022-11-23 12:56:32 +01:00
Anders Schack-Mulligen
9ebcaf80e7
Java: Fix some join-orders.
2022-10-20 14:23:36 +02:00
Anders Schack-Mulligen
a4ae9a09f9
Java: Use MaD summaries for java.util.Hashtable.
2022-09-15 13:55:44 +02:00
Anders Schack-Mulligen
ba3ebeec2c
Java: Remove low confidence dispatch for which we have a manual summary.
2022-09-14 13:39:31 +02:00
Anders Schack-Mulligen
a8eedce8ab
Java: Replace ad-hoc variable tracking with union type flow in dispatch.
2022-09-13 13:30:40 +02:00
Anders Schack-Mulligen
e89b42fc11
Java: Allow dispatch to methods on abstract classes without subtypes.
2022-08-29 13:48:55 +02:00
Anders Schack-Mulligen
adfd474fee
Java: Move file.
2022-08-29 11:50:54 +02:00
Anders Schack-Mulligen
3e5155d1a1
Java: Address review comments.
2022-08-26 11:45:01 +02:00
Anders Schack-Mulligen
92f2976399
Java: Improve unification check for wildcards with lower bounds.
2022-08-24 09:50:13 +02:00
Anders Schack-Mulligen
f248c6a11e
Java: Improve unification check for bounded types.
2022-08-24 09:50:13 +02:00
Anders Schack-Mulligen
6b01f02df6
Java: Deduplicate unification code as a parameterised module.
2022-08-24 09:50:13 +02:00
Anders Schack-Mulligen
df40ccd129
Java: Make synthesized method bodies disjoint from source code.
2022-08-16 13:36:39 +02:00
Anders Schack-Mulligen
cd356a5ac1
Java: Improve join-order.
2022-08-02 08:49:58 +02:00
Ian Lynagh
b9be79473a
Kotlin: Performance tweak
2022-05-10 19:51:30 +01:00
Tamas Vajk
a1842f9f17
Remove ExtensionMethodAccess and revert all dataflow changes
2022-05-10 19:51:27 +01:00
Tamas Vajk
95cb0149a3
Fix data flow through ExtensionMethodAccess
2022-05-10 19:51:27 +01:00
Ian Lynagh
6566f7b69f
Kotlin: Add types for the different kinds of casts that Kotlin has
...
We might want to unify some of these in future, but doing that
correctly is easier than splitting them up correctly, so I've given each
one its own QL class for now.
I am not familiar with many of the libraries/queries that use CastExpr.
I've briefly looked at them and updated them in a way that looks
superficially reasonable, but some of the uses will probably want to be
refined later.
2022-05-10 19:51:13 +01:00
Ian Lynagh
7ce9b160d0
Java: Performance tweaks
2022-02-21 17:05:00 +00:00
Anders Schack-Mulligen
abf508eeeb
Java: Add FieldValueNode to break up cartesian step relation.
2021-10-29 13:45:56 +02:00
Anders Schack-Mulligen
90a50e7ca9
Java: Fix bad join-order.
2021-10-19 10:55:52 +02:00
Anders Schack-Mulligen
89a6cdc711
Java: Add support for callback-based library models.
2021-09-13 14:49:28 +02:00
Anders Schack-Mulligen
ec3990c619
Java: Fix FunctionalInterface.
2021-09-09 15:04:22 +02:00
Andrew Eisenberg
8e750f18ad
Packaging: Java refactoring
...
Split java pack into `codeql/java-all` and `codeql/java-queries`.
2021-08-19 14:09:35 -07:00