Skip to content

Commit ad42f7d

Browse files
committed
Java: Update provenance description to prepare for the upcoming changes.
1 parent a73f73c commit ad42f7d

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

docs/codeql/codeql-language-guides/customizing-library-models-for-java.rst

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -410,19 +410,28 @@ The following components are supported:
410410
Provenance
411411
----------
412412

413-
The **provenance** column is used to specify the provenance (origin) of the model definition.
414-
413+
The **provenance** column is used to specify the provenance (origin) of the model definition and how the model was verified.
415414
The following values are supported:
416415

417-
- **manual**: The model was manually created (or verified by a human) and added to the extensible predicate.
418-
- **generated**: The model was generated by the model generator and added to the extensible predicate.
419-
- **ai-generated**: The model was generated by AI and added to the extensible predicate.
416+
- **manual**: The model was manually created and added to the extensible predicate.
417+
418+
or values in the form **origin-verification**, where origin is one of:
419+
420+
- **ai**: The model was generated by AI.
421+
- **df**: The model was generated by the dataflow model generator.
422+
- **tb**: The model was generated by the type based model generator.
423+
- **hq**: The model was generated using a heuristic query.
424+
425+
and verification is one of:
426+
427+
- **manual**: The model was verified by a human.
428+
- **generated**: The model was generated, but not verified by a human.
420429

421-
The provenance is used to distinguish between models that are manually added to the extensible predicate and models that are automatically generated.
430+
The provenance is used to distinguish between models that are manually added (or verified) to the extensible predicate and models that are automatically generated.
422431
Furthermore, it impacts the data flow analysis in the following way:
423432

424-
- A **manual** model takes precedence over **generated** models. If a **manual** model exists for an element then all generated models are ignored.
425-
- A **generated** or **ai-generated** model is ignored during analysis, if the source code of the element it is modeling is available.
433+
- A **manual** model takes precedence over **generated** models. If a **manual** model exists for an element then all **generated** models are ignored.
434+
- A **generated** model is ignored during analysis, if the source code of the element it is modeling is available.
426435

427436
That is, generated models are less trusted than manual models and only used if neither source code nor a manual model is available.
428437

0 commit comments

Comments
 (0)