Skip to content

Commit f61e53b

Browse files
Erikhu1LucaFgrhalnasri
authored andcommitted
Merge main into merge_to_eclipse-score (#13)
* update to trudag v2025.10.22 (#4) * update to trudag v2025.10.22 * upgrade pip * upgrade pip in test_publication workflow * pip install requests * TT changes documentation (#7) * answer checklist TT-CHANGES * update TSF/README * add AOU-30 * steps 2-12 * mean of the scores * library -> project * fix typo * additional SMEs * fix comprise typo * nlohmann/json triage process * add JLS-34 to TA_UPDATES context * Reworked the README file for references and validators (#6) * extended TimeVaryingWebReference doc * added validator info to website and project_website reference * Updated readme for all references up to ListOfTestCases * Again reworked the references readme * extended documentation for validators * cosmetic change * cosmetic changes * small fix in TimeVaryingWebReference * Update .dotstop_extensions/README.md Co-authored-by: halnasri <hatem.alnasri@d-fine.com> Signed-off-by: Luca Füger <luca.fueger@d-fine.com> * Added : to expected configuration * Update .dotstop_extensions/README.md Co-authored-by: halnasri <hatem.alnasri@d-fine.com> Signed-off-by: Luca Füger <luca.fueger@d-fine.com> * validator addition * Added combinator trudag remark * added database to README * removed : * Update .dotstop_extensions/README.md Co-authored-by: Erik Hu <erik.hu@d-fine.com> Signed-off-by: Luca Füger <luca.fueger@d-fine.com> --------- Signed-off-by: Luca Füger <luca.fueger@d-fine.com> Co-authored-by: halnasri <hatem.alnasri@d-fine.com> Co-authored-by: Erik Hu <erik.hu@d-fine.com> * link TA-BEHAVIOURS to JLS-27 (#9) * Erikhu1 tt changes documentation (#10) * answer checklist TT-CHANGES * update TSF/README * add AOU-30 * steps 2-12 * mean of the scores * library -> project * fix typo * additional SMEs * fix comprise typo * nlohmann/json triage process * add JLS-34 to TA_UPDATES context * replace XYZ and add disclaimer * update TT_CHANGES context files * update TA_UPDATES context * clean up TA_FIXES context --------- Signed-off-by: Erik Hu <erik.hu@d-fine.com> --------- Signed-off-by: Luca Füger <luca.fueger@d-fine.com> Signed-off-by: Erik Hu <erik.hu@d-fine.com> Co-authored-by: Luca Füger <luca.fueger@d-fine.com> Co-authored-by: halnasri <hatem.alnasri@d-fine.com>
1 parent 688afc2 commit f61e53b

17 files changed

+84
-51
lines changed

.dotstop.dot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,7 @@ digraph G {
376376
"TA-BEHAVIOURS" -> "JLEX-01" [sha="8cd931ef61b7012140344adf54469e943bfc690ee54f12db12777464880061db"];
377377
"TA-BEHAVIOURS" -> "JLEX-02" [sha=cb26451e31a56b1eb51a4d45283ba4a7c6e898efbd045b59cba10d3c6aa093de];
378378
"TA-BEHAVIOURS" -> "JLS-03" [sha=cf9211c07452914cb2d0b455f859b26cb2724423eae5187e8cbfdff06d1b5ba3];
379+
"TA-BEHAVIOURS" -> "JLS-27" [sha="880ec996ed026258b58299c356aab7d02652ae55cbf1f98494e2a7770fd96275"];
379380
"TA-CONFIDENCE" -> "JLS-08" [sha="506164051180023c8533ea1f6dedf1bad894c3ee6020ff16b002e33b109c2791"];
380381
"TA-CONFIDENCE" -> "JLS-09" [sha="80bbde95fc14f89acf3dad10b3831bc751943fe4a1d79d5cbf4702416c27530f"];
381382
"TA-CONFIDENCE" -> "JLS-20" [sha="1bfd214ab8186a3c095262ae503451b8d71ada8db5b13ecc7b906739a05bc102"];

TSF/trustable/assertions/TA-ANALYSIS_CONTEXT.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
**Guidance**
79

810
This assertion is satisfied to the extent that test data, and data collected
9-
from monitoring of deployed versions of XYZ, has been analysed, and the results
11+
from monitoring of deployed versions of nlohmann/json, has been analysed, and the results
1012
used to inform the refinement of Expectations and risk analysis.
1113

1214
The extent of the analysis is with sufficient precision to confirm that:

TSF/trustable/assertions/TA-BEHAVIOURS_CONTEXT.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
Although it is practically impossible to specify all of the necessary behaviours
79
and required properties for complex software, we must clearly specify the most
810
important of these (e.g. where harm could result if given criteria are not met),
9-
and verify that these are correctly provided by XYZ.
11+
and verify that these are correctly provided by nlohmann/json.
1012

1113
**Guidance**
1214

1315
This assertion is satisfied to the extent that we have:
1416

15-
- Determined which Behaviours are critical for consumers of XYZ and recorded
17+
- Determined which Behaviours are critical for consumers of nlohmann/json and recorded
1618
them as Expectations.
1719
- Verified these Behaviours are achieved.
1820

TSF/trustable/assertions/TA-CONFIDENCE_CONTEXT.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
**Guidance**
79

810
To quantify confidence, either a subjective assessment or a statistical argument must be presented for each statement and then systematically and repeatably aggregated to assess whether the final deliverable is fit for purpose.

TSF/trustable/assertions/TA-CONSTRAINTS_CONTEXT.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
**Guidance**
79

810
Constraints on reuse, reconfiguration, modification, and deployment are

TSF/trustable/assertions/TA-DATA_CONTEXT.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
**Guidance**
79

810
This assertion is satisfied if results from all tests and monitored deployments are captured accurately, ensuring:

TSF/trustable/assertions/TA-FIXES_CONTEXT.md

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,16 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
**Guidance**
79

8-
This assertion is satisfied to the extent that we have identified, triaged, and applied fixes or mitigations to faults in XYZ, as well as to bugs and publicly disclosed vulnerabilities identified in upstream dependencies.
10+
This assertion is satisfied to the extent that we have identified, triaged, and applied fixes or mitigations to faults in nlohmann/json, as well as to bugs and publicly disclosed vulnerabilities identified in upstream dependencies.
911

10-
Confidence can be improved by assessing known faults, bugs, and vulnerabilities to establish their relevance and impact for XYZ.
12+
Confidence can be improved by assessing known faults, bugs, and vulnerabilities to establish their relevance and impact for nlohmann/json.
1113
An important aspect is documenting how issues are discovered and tracked, including identifying additional Misbehaviours (TA-MISBEHAVIOURS) that may require immediate mitigation measures (including recalls), and how such issues are communicated to users.
1214

13-
In principle, this analysis should include not only the code in XYZ but also its dependencies (all the way down) and the tools and data used to construct the release.
15+
In principle, this analysis should include not only the code in nlohmann/json but also its dependencies (all the way down) and the tools and data used to construct the release.
1416
In practice, however, the cost/benefit of this work must be weighed against:
1517

1618
- the volume and quality of available bug and vulnerability reports
@@ -38,26 +40,26 @@ As part of ongoing monitoring, the rate of incoming, resolved, and rejected issu
3840
- List of outstanding known vulnerabilities still not fixed, with triage/prioritisation based
3941
on severity/relevance/impact
4042
- **Answer**: Provided in JLS-30, JLS-33 and AOU-29
41-
- List of XYZ component versions, showing where a newer version exists upstream
43+
- List of nlohmann/json component versions, showing where a newer version exists upstream
4244
- **Answer**: Not relevant since nlohmann/json has no external components, as stated in JLS-34
4345
- List of component version updates since last release
4446
- **Answer**: Not relevant as nlohmann/json has no external components, as stated in JLS-34
4547
- List of fixes applied to developed code since last release
4648
- **Answer**: Provided in JLS-29
4749
- List of fixes for developed code that are outstanding, not applied yet
4850
- **Answer**: Provided in JLS-11
49-
- List of XYZ faults outstanding (O)
51+
- List of nlohmann/json faults outstanding (O)
5052
- **Answer**: Provided in JLS-11
51-
- List of XYZ faults fixed since last release (F)
53+
- List of nlohmann/json faults fixed since last release (F)
5254
- **Answer**: Provided in JLS-29
53-
- List of XYZ faults mitigated since last release (M)
55+
- List of nlohmann/json faults mitigated since last release (M)
5456
- **Answer**: Provided in JLS-29
5557

5658
**Confidence scoring**
5759

5860
Confidence scoring for TA-FIXES can be based on
5961

60-
- some function of [O, F, M] for XYZ
62+
- some function of [O, F, M] for nlohmann/json
6163
- number of outstanding relevant bugs from components
6264
- bug triage results, accounting for undiscovered bugs
6365
- number of outstanding known vulnerabilities
@@ -70,35 +72,35 @@ Each iteration, we should improve the algorithm based on measurements
7072

7173
**Checklist**
7274

73-
- How many faults have we identified in XYZ?
74-
- **Answer**: None that are relevant for S-CORE's use case of the library.
75+
- How many faults have we identified in nlohmann/json?
76+
- **Answer**: 58, but none are relevant for S-CORE's use case of the library (see JLS-11).
7577
- How many unknown faults remain to be found, based on the number that have
7678
been processed so far?
7779
- **Answer**: It is unlikely that there are unknown faults relevant to S-CORE.
7880
- Is there any possibility that people could be motivated to manipulate the
7981
lists (e.g. bug bonus or pressure to close).
80-
- **Answer**: Unlikely, since the project is entirely open source.
82+
- **Answer**: It is unlikely that people would be motivated to manipulate the lists in nlohmann/json. The nlohmann/json project has no bug bounties, and since it is open source, third party individuals suggest fixes with no pressure/incentive to manipulate unfixed issues.
8183
- How many faults may be unrecorded (or incorrectly closed, or downplayed)?
82-
- **Answer**: Few or none, considering the wide use of the nlohmann/json library.
84+
- **Answer**: Few or none, considering the wide use of the nlohmann/json library (see JLS-05).
8385
- How do we collect lists of bugs and known vulnerabilities from components?
8486
- **Answer**: We pull the list from the issues reported to nlohmann/json labelled as bug and are currently open or were opened since the last release. This list is then stored using GitHub, thereby enabling a traceability of the list.
8587
- How (and how often) do we check these lists for relevant bugs and known vulnerabilities?
8688
- **Answer**: Whenever we generate the documentation, the list is pulled. If there is an issue previously unrecorded, then the maintainer is encouraged by the change of the trustable score to check the relevance of the issue.
8789
- How confident can we be that the lists are honestly maintained?
88-
- **Answer**: Very confident, since the authors of the issues in the list mainly comprise of independent downstream users.
90+
- **Answer**: Very confident, since the authors of the issues in the list mainly comprise independent downstream users.
8991
- Could some participants have incentives to manipulate information?
9092
- **Answer**: No such incentives have been identified.
9193
- How confident are we that the lists are comprehensive?
92-
- **Answer**: Fairly confident, considering the wide use of the library and that downstream users are likely to report discovered bugs.
94+
- **Answer**: Fairly confident, considering the wide use of the library (see JLS-05) and that downstream users are likely to report discovered bugs.
9395
- Could there be whole categories of bugs/vulnerabilities still undiscovered?
94-
- **Answer**: Unlikely, considering the wide use of the library and that downstream users are likely to report discovered bugs.
96+
- **Answer**: Unlikely, considering the wide use of the library (see JLS-05) and that downstream users are likely to report discovered bugs.
9597
- How effective is our triage/prioritisation?
9698
- **Answer**: There is no development of the json library within S-CORE, and therefore no triage/prioritisation. Any identified bugs/vulnerabilities are reported to nlohmann/json. Within nlohmann/json, no formal triage process has been identified. Nevertheless, reported bugs and vulnerabilities seem to be handled in a timely manner.
9799
- How many components have never been updated?
98100
- **Answer**: None, the nlohmann/json library consists of a single header file, which the only component. This component is up to date.
99101
- How confident are we that we could update them?
100-
- **Answer**: If a new version of the nlohmann/json library is released, we are very confident that we can update to that version.
102+
- **Answer**: Within nlohmann/json, there are no external components to update. Within S-CORE, if a new version of the nlohmann/json library is released, we are very confident that we can update to that version. (See the update process in TSF/README.md)
101103
- How confident are we that outstanding fixes do not impact our Expectations?
102-
- **Answer**: No outstanding fixes that impact the Expectation have been identified.
104+
- **Answer**: No outstanding fixes that impact the Expectations have been identified.
103105
- How confident are we that outstanding fixes do not address Misbehaviours?
104106
- **Answer**: Very confident, as no Misbehaviours have been identified.

TSF/trustable/assertions/TA-INDICATORS_CONTEXT.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
Not all deviations from Expected Behaviour can be associated with a specific
79
condition. Therefore, we must have a strategy for managing deviations that
810
arise from unknown system states, process vulnerabilities or configurations.

TSF/trustable/assertions/TA-INPUTS_CONTEXT.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,27 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
**Guidance**
79

8-
Anything that can influence the output of the XYZ project is considered an input.
10+
Anything that can influence the output of the nlohmann/json project is considered an input.
911
This includes:
1012

1113
- Software components used to implement specified features and meet defined Expectations
1214
- Software tools, and their outputs, used for design, construction and verification
1315
- Infrastructure that supports development and release processes
1416

15-
All inputs (components, tools, data) and their dependencies (recursively) used to build and verify XYZ releases must be identified and assessed, since they are untrusted by default.
17+
All inputs (components, tools, data) and their dependencies (recursively) used to build and verify nlohmann/json releases must be identified and assessed, since they are untrusted by default.
1618

1719
Each input should be evaluated on verifiable merits, regardless of any claims it makes (including adherence to standards or guidance).
1820
Evaluation must include the project's defined Expectations to ensure that inputs meet requirements, and that risks are recorded and addressed appropriately.
1921

20-
For components, we need to consider how their misbehaviour might impact achieving project XYZ's Expectations.
22+
For components, we need to consider how their misbehaviour might impact achieving project nlohmann/json's Expectations.
2123
Sources (e.g. bug databases, advisories) for known risks should be identified, their update frequency recorded, and tests defined for detecting them.
2224
These form the inputs to TA-FIXES.
2325

24-
For the tools used to construct and verify XYZ, we need to consider how their misbehaviour could:
26+
For the tools used to construct and verify nlohmann/json, we need to consider how their misbehaviour could:
2527

2628
- Introduce unintended changes
2729
- Fail to detect Misbehaviours during testing
@@ -45,28 +47,28 @@ As a result, for example, any binary inputs without reproducible build steps or
4547

4648
**Evidence**
4749

48-
- List of components used to build XYZ, including:
50+
- List of components used to build nlohmann/json, including:
4951
- Whether content is provided as source or binary
5052
- **Answer**:
5153
- Record of component assessments:
5254
- Originating project and version
5355
- **Answer**:
5456
- Date of assessments and identity of assessors
5557
- **Answer**:
56-
- Role of component in XYZ
58+
- Role of component in nlohmann/json
5759
- **Answer**:
5860
- Sources of bug and risk data
5961
- **Answer**:
6062
- Potential misbehaviours and risks identified and assessed
6163
- **Answer**:
62-
- List of tools used to build and verify XYZ
64+
- List of tools used to build and verify nlohmann/json
6365
- **Answer**:
6466
- Record of tool assessments:
6567
- Originating project and tool version
6668
- **Answer**:
6769
- Date of assessments and identity of assessors
6870
- **Answer**:
69-
- Role of the tool in XYZ releases
71+
- Role of the tool in nlohmann/json releases
7072
- **Answer**:
7173
- Potential misbehaviours and impacts
7274
- **Answer**:
@@ -79,7 +81,7 @@ As a result, for example, any binary inputs without reproducible build steps or
7981

8082
Confidence scoring for TA-INPUTS is based on the set of components and tools
8183
identified, how many of (and how often) these have been assessed for their risk
82-
and impact for XYZ, and the sources of risk and issue data identified.
84+
and impact for nlohmann/json, and the sources of risk and issue data identified.
8385

8486
**Checklist**
8587

TSF/trustable/assertions/TA-ITERATIONS_CONTEXT.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ level: 1.1
33
normative: false
44
---
55

6+
(Note: The guidance, evidence, confidence scoring and checklist sections below are copied from [CodeThink's documentation of TSF](https://codethinklabs.gitlab.io/trustable/trustable/trustable/TA.html). However, the answers to each point in the evidence list and checklist are specific to this project.)
7+
68
**Guidance**
79

810
This assertion is best satisfied by checking generated documentation to confirm that:

0 commit comments

Comments
 (0)