Commit Graph

40 Commits

Author SHA1 Message Date
Ian Lynagh
41ed6e6695 Java: Deprecate RefType.nestedName(), and add RefType.getNestedName() 2024-09-16 17:16:25 +01:00
erik-krogh
846882d22c delete imports to a deleted file 2024-09-03 20:31:00 +02:00
Anders Schack-Mulligen
2925e45434 Java/Dataflow: Propagate MaD-id/model-id to PathGraph. 2024-04-12 09:19:51 +02:00
Max Schaefer
a95f4128d9 Merge pull request #15554 from github/max-schaefer/automodel-candidate-fixes
Automodel: Improve handling of varargs and overriding in extraction queries
2024-02-16 08:51:54 +00:00
Max Schaefer
652b6bb8e1 Fix bugs revealed by omittable exists variables. 2024-02-15 16:29:20 +00:00
Max Schaefer
104a8d980c Automodel: Make description of some negative characteristics more explicit. 2024-02-13 08:18:13 +00:00
Max Schaefer
48105db5b0 Fix isNeutral predicates. 2024-02-08 13:22:53 +00:00
Max Schaefer
4b9443eb15 Properly recognise existing models involving subtypes.
If an existing source/sink model specifies `subtypes=True` we should apply it to endpoints on overriding methods.
2024-02-08 13:22:53 +00:00
Max Schaefer
ae23920a6d Fix spurious source models for primitive types in framework mode. 2024-01-17 15:36:31 +00:00
Max Schaefer
6c47a5d5f9 Refactor framework-mode queries to make them more easily testable. 2024-01-17 14:51:58 +00:00
Max Schaefer
800a78d258 Treat unexploitable types more centrally.
The apparently missing test result is due to sampling.
2024-01-17 14:40:37 +00:00
Max Schaefer
8614d7bddb Address review feedback. 2024-01-17 14:29:52 +00:00
Max Schaefer
3befce98b3 When checking whether an endpoint has already been modelled, make sure to take the extensibleType into account. 2024-01-15 12:09:39 +00:00
Max Schaefer
bb63fcde43 Refactor to avoid bad join order. 2024-01-12 15:24:24 +00:00
Max Schaefer
45ca301593 Rename a predicate. 2024-01-12 13:18:05 +00:00
Max Schaefer
ea26e21454 Extend negative characteristics for exceptions to source models. 2024-01-12 12:20:22 +00:00
Max Schaefer
06ba5ea9f8 Eliminate GetCallable modules and use getCallable instead. 2024-01-12 12:03:49 +00:00
Max Schaefer
9f443d4f83 Make Unexploitable*Characteristic more precise. 2024-01-12 12:03:41 +00:00
Max Schaefer
ff4555ac5b Get rid of negative sink types.
Instead of positively implying the negative sink type, negative sink characteristics now negatively imply all sink types (but not source types). This is simpler and sice we will never have a huge number of sink types it doesn't impact performance either.

Changes to test results:

- The call to `createDirectories` at `Test.java:87` is now correctly classified as a source candidate, having previously been erroneously excluded by a negative _sink_ characteristic.
- The call to `compareTo` at `Test.java:48` is now erroneously classified as a source candidate; it should be suppressed by `IsSanitizerCharacteristic`, which is a negative sink characteristic, but should really be a negative source characteristic.
- In framework mode, several endpoints are now erroneously classified as source candidates even though they have neutral models, because `NeutralModelCharacteristic` is currently only a negative sink characteristic and not a negative source characteristic.
2024-01-11 12:19:53 +00:00
Max Schaefer
03ca244df2 Associate endpoints with their potential endpoint types and check these when determining candidates.
This prevents us from associating a sink candidate with a source type and vice versa.

However, this does not fix the problem of negative characteristics for sink types excluding source candidates.
2024-01-11 11:44:14 +00:00
Max Schaefer
3e8775daaa Automodel: Do not generate features for compiler-generated program elements.
These have dummy locations, which breaks certain invariants that break downstream processing.
2024-01-09 13:39:46 +00:00
Stephan Brandauer
2e5971bb57 Java automodel: also drop boxed types and number types from endpoints 2023-11-24 15:04:13 +01:00
Stephan Brandauer
737aab66f5 Java automodel: drop primitive parameters from endpoints 2023-11-20 15:09:05 +01:00
Stephan Brandauer
e34a9de008 Java Automodel: drop return values of primitive return type methods from consideration for extraction in framework mode 2023-11-20 14:11:14 +01:00
Stephan Brandauer
212a515fa9 Java Automodel: drop return values void methods other than ctors from consideration for extraction in framework mode 2023-11-20 14:00:59 +01:00
Stephan Brandauer
84e58b77aa Java Automodel: remove Qualifiers of constructors from endpoints 2023-11-16 12:44:53 +01:00
Stephan Brandauer
fdbc553029 Java: Automodel Framework mode: no longer skip non-public methods 2023-09-28 16:17:44 +02:00
Stephan Brandauer
53b3755e50 remove now-unused getIndex predicate
Co-authored-by: @tausbn <tausbn@github.com>
2023-09-26 10:46:42 +02:00
Stephan Brandauer
9f7f2ab70e remove redundant fromSource calls
Co-authored-by: @tausbn <tausbn@github.com>
2023-09-26 10:45:54 +02:00
Stephan Brandauer
32502d5e2c Java: Automodel, remove erroneousEndpoints predicate from production queries 2023-09-26 10:45:54 +02:00
Stephan Brandauer
e71563e540 Java: Automodel fr mode: remove superfluous module 2023-09-26 10:45:54 +02:00
Stephan Brandauer
2be5b1955f Java: Automodel fr mode: add support for qualifier source candidates 2023-09-26 10:45:53 +02:00
Stephan Brandauer
dee387622e Java: Automodel: rename overloadable -> overridable 2023-09-26 10:45:53 +02:00
Stephan Brandauer
6121faf671 Java: Automodel: fr mode: connect new endpoints with MaD models 2023-09-26 10:45:53 +02:00
Stephan Brandauer
7f084c90c5 Java: automodel fr mode: add overloadable parameter candidates 2023-09-26 10:45:53 +02:00
Stephan Brandauer
32a538b64c Java: automodel fr mode: add mad output to extraction metadata 2023-09-26 10:45:53 +02:00
Stephan Brandauer
b2578f0e30 Java: Automodel Fr Mode: add return value endpoint type 2023-09-26 10:45:52 +02:00
Stephan Brandauer
8cc6466c68 Java: Automodel: add extensibleType metadata to framework mode 2023-09-26 10:45:52 +02:00
Stephan Brandauer
dff8259e78 Java: support remote sources in automodel positive example extraction 2023-09-07 15:49:57 +02:00
Anders Starcke Henriksen
e2abd3ff13 Create separate automodel pack. 2023-08-03 13:55:15 +02:00