From 82dfc8c69af45c6ed101ddec420231de3f408d60 Mon Sep 17 00:00:00 2001 From: "markus.schu" Date: Mon, 26 Jan 2026 10:21:08 +0100 Subject: [PATCH 1/4] Initial tool list Tool list for validation of tools within S-CORE Basis for Tool Evaluation Lists Basis for SBOM Tool as possible output report --- ...pse_score_tools_safety_evaluation_list.rst | 1082 +++++++++++++++++ docs/score_tools/index.rst | 1 + 2 files changed, 1083 insertions(+) create mode 100644 docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst diff --git a/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst b/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst new file mode 100644 index 00000000000..22e22264f1b --- /dev/null +++ b/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst @@ -0,0 +1,1082 @@ +.. ******************************************************************************* +.. Copyright (c) 2026 Contributors to the Eclipse Foundation +.. +.. See the NOTICE file(s) distributed with this work for additional +.. information regarding copyright ownership. +.. +.. This program and the accompanying materials are made available under the +.. terms of the Apache License Version 2.0 which is available at +.. https://www.apache.org/licenses/LICENSE-2.0 +.. +.. SPDX-License-Identifier: Apache-2.0 +.. ******************************************************************************* + +======================================================== +Eclipse SCORE - Complete Tool List for Safety Evaluation +======================================================== + +:Date: January 26, 2026 +:Organization: Eclipse Foundation +:Project: Eclipse SCORE (Scalable & Modular COmponent Runtime Environment) +:Purpose: Comprehensive tool inventory for safety classification and evaluation + +.. contents:: Table of Contents + :depth: 3 + :local: + +Overview +======== + +This document provides a comprehensive initial inventory of all tools used across the Eclipse SCORE project +and its 68+ repositories under https://github.com/eclipse-score. The list includes build tools, +compilers, static analyzers, testing frameworks, documentation generators, and supporting utilities. + +Each tool should be evaluated for safety and security impact according to the tool management process +defined in the S-CORE Tool Management Plan. + +But first the list must be validated and completed with any missing tools. Also there may be +false positives that need to be removed, e.g. nhlohmann_json is a library, not a tool. + +Please review the list below and provide feedback on any missing tools, false positives, +or other discrepancies. + +The version is not important for now, but will be tracked in the future. + +In future iterations, the following the collection will be enhanced and updated, at least for +version using automatic SBOM generation. + + +Build & Development Tools +========================== + +Build System & Package Management +---------------------------------- + +.. list-table:: Build System Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 1 + - Bazel + - 8.3.0 + - LOW + - YES + - YES + - Main build system (documented in score_tools) + * - 2 + - Bazelisk + - Latest + - TBD + - TBD + - TBD + - Bazel version manager, reads .bazelversion file + * - 3 + - buildifier + - 8.2.0.2 + - TBD + - TBD + - TBD + - Bazel file formatter and linter + * - 4 + - rules_python + - 1.4.1 + - TBD + - TBD + - TBD + - Bazel Python build rules + * - 5 + - aspect_rules_py + - 1.6.3 + - TBD + - TBD + - TBD + - Enhanced Python rules (provides py_venv) + * - 6 + - aspect_rules_lint + - 1.5.3 + - TBD + - TBD + - TBD + - Generic linting and formatting rules + * - 7 + - rules_pkg + - 1.1.0 + - TBD + - TBD + - TBD + - Packaging dependencies + * - 8 + - rules_java + - 8.15.1 + - TBD + - TBD + - TBD + - Java build rules + * - 9 + - rules_cc + - 0.1.1/0.2.1 + - TBD + - TBD + - TBD + - C/C++ build rules + * - 10 + - rules_rust + - 0.61.0-0.63.0 + - TBD + - TBD + - TBD + - Rust build rules for Bazel + +Compilers & Toolchains +====================== + +C++ Compilers +------------- + +.. list-table:: C++ Compiler Toolchains + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 11 + - GCC + - 12+ + - TBD + - YES + - YES + - Host C++ compiler with linker, generates compiler warnings, builds unit tests and binaries for SW integration testing + * - 12 + - QCC + - QNX 8.x SDP + - TBD + - YES + - YES + - Qualifiable compiler/linker from BlackBerry for QNX, used for target compilation + * - 13 + - LLVM/Clang + - 19.1.0 + - TBD + - YES + - YES + - Alternative C++ compiler toolchain + * - 14 + - toolchains_llvm + - 1.4.0 + - TBD + - YES + - YES + - LLVM toolchain rules for Bazel (host configuration, C++17 standard) + +Rust Compilers +-------------- + +.. list-table:: Rust Compiler Toolchains + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 15 + - Ferrocene + - Planned + - TBD + - YES + - YES + - Qualified Rust compiler (planned for target, safety-critical use), see https://github.com/ferrocene + * - 16 + - Rust (standard) + - 1.90.0+ + - TBD + - YES + - YES + - For host development, no current selection for S-CORE host compiler + +QNX & Platform Toolchains +-------------------------- + +.. list-table:: Platform-Specific Toolchains + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 17 + - score_toolchains_qnx + - 0.0.2/0.5 + - TBD + - YES + - YES + - QNX SDP toolchain including compiler, linker, image creation tools + * - 18 + - score_toolchains_gcc + - 0.4/0.5 + - TBD + - YES + - YES + - GCC toolchain packages for various targets + * - 19 + - score_toolchains_rust + - Various + - TBD + - YES + - YES + - Rust toolchains for SCORE project + +Static Analysis & Code Quality +=============================== + +C++ Static Analysis +------------------- + +.. list-table:: C++ Analysis Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 20 + - clang-tidy + - 19.x + - TBD + - YES + - YES + - Static analysis for C++, used with Clang compiler + * - 21 + - clang-analyzer + - 19.x + - TBD + - YES + - YES + - Static analyzer from LLVM project + +Rust Static Analysis +--------------------- + +.. list-table:: Rust Analysis Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 22 + - clippy + - 1.90.0+ + - HIGH + - YES + - YES + - Rust linter for static code analysis (documented in score_tools) + * - 23 + - rustfmt + - 1.8.0+ + - HIGH + - YES + - YES + - Rust code formatter (documented in score_tools, version derived from qualified compiler) + * - 24 + - rust-analyzer + - Latest + - TBD + - TBD + - TBD + - Rust language server for IDE support + +Python Analysis +--------------- + +.. list-table:: Python Analysis Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 25 + - ruff + - Latest + - TBD + - YES + - YES + - Fast Python formatter and linter, replaces multiple tools + * - 26 + - pyright + - Latest + - TBD + - YES + - YES + - Python static type checker (99% test coverage) + * - 27 + - pylint + - Latest + - TBD + - YES + - YES + - Python code quality analysis (96% test coverage) + * - 28 + - pytest + - Latest + - TBD + - YES + - YES + - Python testing framework (97% test coverage) + * - 29 + - pytest-cov + - Latest + - TBD + - YES + - YES + - Python test coverage reporting + +Other Formatters & Linters +--------------------------- + +.. list-table:: General Formatters and Linters + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 30 + - yamlfmt + - Latest + - TBD + - TBD + - TBD + - YAML file formatter + * - 31 + - actionlint + - Latest + - TBD + - TBD + - TBD + - GitHub Actions workflow linter + * - 32 + - starpls + - Latest + - TBD + - TBD + - TBD + - Starlark (Bazel) language server + * - 33 + - basedpyright + - Latest + - TBD + - YES + - YES + - Alternative Python type checker + +Testing Frameworks +================== + +.. list-table:: Testing Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 34 + - GoogleTest (gtest) + - 1.15.0/1.17.0 + - LOW + - YES + - YES + - C++ testing framework (documented in score_tools) + * - 35 + - ITF + - 0.1.0 + - LOW + - YES + - YES + - Integration Testing Framework, pytest-based (documented in score_tools) + * - 36 + - gcovr + - Latest + - TBD + - YES + - YES + - Code coverage tool (uses gcov from GCC), part of GNU compiler collection + +Documentation Tools +=================== + +.. list-table:: Documentation Generation Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 37 + - Doc-as-Code + - 2.0.2/2.2.0/2.3.3 + - LOW + - YES + - YES + - S-CORE documentation generation tool (documented in score_tools) + * - 38 + - Sphinx + - Latest + - TBD + - YES + - YES + - Python documentation generator (underlying Doc-as-Code) + * - 39 + - sphinx-needs + - Latest + - TBD + - YES + - YES + - Requirements tracking extension for Sphinx + * - 40 + - PlantUML + - Latest + - TBD + - TBD + - TBD + - UML diagram generation + * - 41 + - Graphviz + - Latest + - TBD + - TBD + - TBD + - Graph visualization software + * - 42 + - sphinxcontrib.plantuml + - Latest + - TBD + - TBD + - TBD + - PlantUML integration for Sphinx + +S-CORE Custom Tooling +===================== + +.. list-table:: S-CORE Specific Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 43 + - score_tooling + - 1.0.2/1.0.4 + - TBD + - YES + - YES + - Copyright checker, CLI helper, license checker + * - 44 + - score_process + - 1.4.2 + - TBD + - YES + - YES + - Process description tools (ASPICE 4.0, ISO 26262, ISO 21434, ISO PAS 8926) + * - 45 + - bazel-tools-cc + - Latest + - TBD + - YES + - YES + - Clang-tidy based static code checker for Bazel + +Version Control & CI/CD +======================== + +.. list-table:: Version Control and CI/CD Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 46 + - Git + - 2.x + - TBD + - YES + - YES + - Version control system + * - 47 + - GitHub + - Cloud + - TBD + - YES + - YES + - Code hosting and collaboration platform + * - 48 + - GitHub Actions + - Cloud + - TBD + - YES + - YES + - CI/CD automation platform + * - 49 + - gitlint + - 0.19.1 + - TBD + - TBD + - TBD + - Commit message linting (Docker: jorisroovers/gitlint) + +License & Security +================== + +.. list-table:: License and Security Analysis Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 50 + - Eclipse Dash + - Latest + - TBD + - TBD + - YES + - License analysis tool + * - 51 + - REUSE + - Latest + - TBD + - TBD + - YES + - License compliance checking + +Libraries & Dependencies +======================== + +C++ Libraries +------------- + +.. list-table:: C++ Library Dependencies + :header-rows: 1 + :widths: 5 20 15 50 + + * - ID + - Library Name + - Version + - Purpose + * - 52 + - Boost + - 1.87.0 + - C++ libraries (specifically boost.program_options) + * - 53 + - nlohmann_json + - Latest + - JSON library for C++ + * - 54 + - protobuf + - 29.0 + - Protocol buffers + * - 55 + - abseil-cpp + - 20240116.1 + - Abseil C++ common libraries + * - 56 + - jsoncpp + - 1.9.5 + - JSON library for C++ + +Rust Libraries +-------------- + +.. list-table:: Rust Library Dependencies (via crate_index) + :header-rows: 1 + :widths: 5 20 15 50 + + * - ID + - Crate Name + - Version + - Purpose + * - 57a + - futures + - 0.3.31 + - Asynchronous programming + * - 57b + - libc + - 0.2.155 + - Raw FFI bindings for platform APIs + * - 57c + - clap + - 4.5.4 + - Command line argument parser + +Requirements & Traceability +---------------------------- + +.. list-table:: Requirements Management Tools + :header-rows: 1 + :widths: 5 20 15 50 + + * - ID + - Tool Name + - Version + - Purpose + * - 58 + - TRLC + - 2.0.2 (commit 650b51a) + - BMW Requirements Traceability Language and Compiler + * - 59 + - LOBSTER + - Latest + - Requirements traceability and documentation tool (via custom extension) + +Container & Development Environment +=================================== + +.. list-table:: Container and Development Tools + :header-rows: 1 + :widths: 5 15 10 10 10 10 40 + + * - ID + - Tool Name + - Version + - TCL + - Safety + - Security + - Notes + * - 60 + - Docker + - Latest + - TBD + - TBD + - YES + - Container platform (used in devcontainer) + * - 61 + - devcontainer + - Custom + - TBD + - TBD + - TBD + - VS Code development container configuration + * - 62 + - QEMU + - Latest + - TBD + - YES + - YES + - Emulator for integration testing (qemu-system-aarch64) + * - 63 + - SSH tools + - Latest + - TBD + - TBD + - YES + - Remote connection (sshpass, SSH client) + +Additional System Tools +======================= + +.. list-table:: System Utilities + :header-rows: 1 + :widths: 5 20 15 50 + + * - ID + - Tool Name + - Version + - Purpose + * - 64 + - curl + - Latest + - HTTP client for downloading dependencies + * - 65 + - protoc + - Latest + - Protocol buffer compiler + * - 66 + - dot + - Latest + - Graphviz command-line tool + * - 67 + - jq + - Latest + - JSON processor + * - 68 + - yq + - Latest + - YAML processor + * - 69 + - tar + - Latest + - Archive utility + +Platform & Target Support +========================= + +.. list-table:: Platform and OS Support + :header-rows: 1 + :widths: 5 20 15 50 + + * - ID + - Platform/Tool + - Version + - Purpose + * - 70 + - QNX 8.x SDP + - 8.x + - Real-time operating system and development platform + * - 71 + - score_bazel_platforms + - Latest + - Platform definitions (x86_64-qnx, x86_64-linux, etc.) + * - 72 + - Vulkan + - Latest + - Graphics and compute API + * - 73 + - ISP Driver + - Custom + - Image sensor pre-processing + +Language Servers & IDE Support +=============================== + +.. list-table:: IDE Language Servers + :header-rows: 1 + :widths: 5 20 15 50 + + * - ID + - Language Server + - Version + - Purpose + * - 74 + - clangd + - Latest + - C/C++ language server + * - 75 + - rust-analyzer + - Latest + - Rust language server + * - 76 + - starpls + - Latest + - Starlark (Bazel) language server + +S-CORE Module Repositories +=========================== + +The following modules from the eclipse-score organization are part of the ecosystem: + +.. list-table:: S-CORE Software Modules + :header-rows: 1 + :widths: 30 70 + + * - Repository + - Description + * - score + - Main platform repository + * - process_description + - Process description (ASPICE, ISO standards) + * - score_baselibs + - Base libraries including common functionality (C++) + * - baselibs_rust + - Rust base libraries + * - score_communication + - Communication module (LoLa) (C++) + * - persistency + - Persistency framework (Rust) + * - logging + - Logging daemon (C++) + * - orchestrator + - Orchestration framework (Rust) + * - kyron + - Safe async runtime for Rust + * - lifecycle + - Lifecycle management + * - scrample + - Example component (C++) + * - docs-as-code + - Documentation tooling (Python) + * - tooling + - S-CORE development tooling (Python) + * - itf + - Integration Testing Framework (Python) + * - bazel_registry + - Bazel modules registry + * - bazel_cpp_toolchains + - C/C++ toolchain configurations + * - toolchains_qnx + - QNX toolchain + * - toolchains_gcc + - GCC toolchain + * - toolchains_rust + - Rust toolchain + * - bazel_platforms + - Platform definitions + * - bazel-tools-cc + - C/C++ static analysis tools + * - module_template + - C++ & Rust Bazel template repository + * - reference_integration + - Integration repository + * - devcontainer + - Common devcontainer for S-CORE + * - cicd-workflows + - Reusable GitHub Actions workflows + * - nlohmann_json + - Nlohmann JSON library + * - ferrocene_toolchain_builder + - Builder for Ferrocene artifacts + * - inc_time + - Time synchronization module (incubation) + * - inc_someip_gateway + - SOME/IP gateway (incubation) + * - inc_security_crypto + - Security & Cryptography (incubation) + * - inc_score_codegen + - DSL/code generation (incubation) + * - inc_os_autosd + - AutoSD Development Platform (incubation) + * - .eclipsefdn + - Eclipse Foundation configurations + +Summary Statistics +================== + +Tool Count Overview +------------------- + +- **Total Tools Identified**: 77+ distinct tools +- **Tools with Documented TCL**: 7 tools + + - **HIGH TCL**: clippy, rustfmt + - **LOW TCL**: Bazel, gtest, ITF, Doc-as-Code + +- **Safety-Affected Tools**: Majority of development, testing, and compilation tools +- **Security-Affected Tools**: Majority of development, testing, and compilation tools +- **S-CORE Repositories**: 68+ repositories in eclipse-score GitHub organization + +Tool Classification by Category +-------------------------------- + +.. list-table:: Category Summary + :header-rows: 1 + :widths: 50 50 + + * - Category + - Count + * - Build System & Package Management + - 10 + * - Compilers & Toolchains + - 9 + * - Static Analysis & Code Quality + - 14 + * - Testing Frameworks + - 3 + * - Documentation Tools + - 6 + * - S-CORE Custom Tooling + - 3 + * - Version Control & CI/CD + - 4 + * - License & Security + - 2 + * - Libraries (C++/Rust) + - 10 + * - Requirements & Traceability + - 2 + * - Container & Development + - 4 + * - System Utilities + - 6 + * - Platform Support + - 4 + * - Language Servers + - 3 + +Recommended Evaluation Priority +================================ + +Priority 1: Critical Safety-Relevant Tools +------------------------------------------- + +These tools directly impact the correctness and safety of generated code: + +1. **Compilers** + + - GCC (Host C++ compiler) + - QCC (Target C++ compiler - qualifiable) + - Ferrocene (Target Rust compiler - qualified) + - LLVM/Clang + +2. **Build System** + + - Bazel (already documented, TCL: LOW) + +Priority 2: Code Quality Gates +------------------------------- + +These tools ensure code quality before integration: + +3. **Static Analysis** + + - clang-tidy (C++ static analysis) + - clippy (Rust linter, TCL: HIGH) + - rustfmt (Rust formatter, TCL: HIGH) + - ruff (Python linter/formatter) + - pyright (Python type checker) + +Priority 3: Verification Tools +------------------------------- + +These tools verify correctness through testing: + +4. **Testing Frameworks** + + - GoogleTest/gtest (C++ testing, TCL: LOW) + - ITF (Integration testing, TCL: LOW) + - pytest (Python testing) + - gcovr (Code coverage) + +Priority 4: Traceability & Documentation +----------------------------------------- + +These tools maintain traceability and documentation: + +5. **Documentation & Requirements** + + - Doc-as-Code (Documentation generation, TCL: LOW) + - TRLC (Requirements traceability) + - LOBSTER (Traceability tool) + - Sphinx + sphinx-needs + +Priority 5: Supporting Infrastructure +-------------------------------------- + +All other tools supporting the development process: + +6. **Version Control, CI/CD, Utilities** + + - Git, GitHub, GitHub Actions + - Docker, devcontainer + - System utilities (curl, protoc, etc.) + +Next Steps +========== + +For each tool identified in this document, the following activities are recommended: + +1. **Tool Classification** + + - Determine Tool Impact + - Determine Tool Error Detection + - Calculate Tool Confidence Level + +2. **Safety Evaluation** + + - Complete malfunction analysis + - Identify impact on safety + - Define safety measures + - Document in Tool Verification Report + +3. **Security Evaluation** + + - Identify security threats + - Assess impact on security + - Define security measures + +4. **Qualification Strategy** + + - For TCL 2/3: Increased confidence through use + - For TCL 2/3: Tool qualification + - Document in Tool Verification Report per :need:`gd_temp__tool_management_verif_rpt_template` + +5. **Documentation** + + - Create/update Tool Verification Reports + - Maintain tool version tracking + - Link to configuration management + +References +========== + +- S-CORE Tool Management Plan: :need:`doc__platform_tool_management_plan` +- Tool Verification Report Template: :need:`gd_temp__tool_management_verif_rpt_template` +- Tool Creation Review Checklist: :need:`gd_chklst__tool_cr_review` +- Tool Process Concept: :need:`doc_concept__tool_process` +- S-CORE GitHub Organization: https://github.com/eclipse-score +- S-CORE Bazel Registry: https://github.com/eclipse-score/bazel_registry +- S-CORE Documentation: https://eclipse-score.github.io/score + +Document History +================ + +.. list-table:: Document Revision History + :header-rows: 1 + :widths: 15 15 70 + + * - Version + - Date + - Changes + * - 1.0 + - 2026-01-26 + - Initial comprehensive tool inventory for safety evaluation + +---- + +*This document was generated based on analysis of the Eclipse SCORE project repositories as of January 26, 2026.* diff --git a/docs/score_tools/index.rst b/docs/score_tools/index.rst index f0c91cacf03..e697ff95574 100644 --- a/docs/score_tools/index.rst +++ b/docs/score_tools/index.rst @@ -29,6 +29,7 @@ S-CORE Tools Overview :hidden: :maxdepth: 2 + eclipse_score_tools_safety_evaluation_list doc_as_code gtest bazel From 9e756e7d5a0770d4e8b397b444eb4bd08b552ce1 Mon Sep 17 00:00:00 2001 From: "markus.schu" Date: Sun, 8 Feb 2026 10:48:36 +0100 Subject: [PATCH 2/4] refactor score_tools, create new list referring to evaluations lists --- ...pse_score_tools_safety_evaluation_list.rst | 10 +- docs/score_tools/index.rst | 25 ++- .../score_tools_evaluation_list.rst | 193 ++++++++++++++++++ .../_assets/bazel.drawio.svg | 0 .../{ => tools_build_development}/bazel.rst | 2 +- .../tools_build_development/index.rst | 32 +++ .../_assets/doc_as_code.drawio.svg | 0 .../{ => tools_documentation}/doc_as_code.rst | 2 +- .../score_tools/tools_documentation/index.rst | 32 +++ .../_assets/clippy.drawio.svg | 0 .../_assets/rustfmt.drawio.svg | 0 .../clippy.rst | 2 +- .../index.rst | 33 +++ .../rustfmt.rst | 2 +- .../_assets/gtest.drawio.svg | 0 .../_assets/itf.drawio.svg | 0 .../{ => tools_testing_frameworks}/gtest.rst | 2 +- .../tools_testing_frameworks/index.rst | 33 +++ .../{ => tools_testing_frameworks}/itf.rst | 2 +- 19 files changed, 348 insertions(+), 22 deletions(-) create mode 100644 docs/score_tools/score_tools_evaluation_list.rst rename docs/score_tools/{ => tools_build_development}/_assets/bazel.drawio.svg (100%) rename docs/score_tools/{ => tools_build_development}/bazel.rst (99%) create mode 100644 docs/score_tools/tools_build_development/index.rst rename docs/score_tools/{ => tools_documentation}/_assets/doc_as_code.drawio.svg (100%) rename docs/score_tools/{ => tools_documentation}/doc_as_code.rst (99%) create mode 100644 docs/score_tools/tools_documentation/index.rst rename docs/score_tools/{ => tools_static_analysis_code_quality}/_assets/clippy.drawio.svg (100%) rename docs/score_tools/{ => tools_static_analysis_code_quality}/_assets/rustfmt.drawio.svg (100%) rename docs/score_tools/{ => tools_static_analysis_code_quality}/clippy.rst (98%) create mode 100644 docs/score_tools/tools_static_analysis_code_quality/index.rst rename docs/score_tools/{ => tools_static_analysis_code_quality}/rustfmt.rst (98%) rename docs/score_tools/{ => tools_testing_frameworks}/_assets/gtest.drawio.svg (100%) rename docs/score_tools/{ => tools_testing_frameworks}/_assets/itf.drawio.svg (100%) rename docs/score_tools/{ => tools_testing_frameworks}/gtest.rst (99%) create mode 100644 docs/score_tools/tools_testing_frameworks/index.rst rename docs/score_tools/{ => tools_testing_frameworks}/itf.rst (99%) diff --git a/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst b/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst index 22e22264f1b..0e791e954d2 100644 --- a/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst +++ b/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst @@ -11,9 +11,13 @@ .. SPDX-License-Identifier: Apache-2.0 .. ******************************************************************************* -======================================================== -Eclipse SCORE - Complete Tool List for Safety Evaluation -======================================================== + +.. attention:: + This list is only for evaluation reasons and will be deleted after the evaluation is completed. + +=================== +ONLY FOR EVALUATION +=================== :Date: January 26, 2026 :Organization: Eclipse Foundation diff --git a/docs/score_tools/index.rst b/docs/score_tools/index.rst index e697ff95574..a09cfd2db09 100644 --- a/docs/score_tools/index.rst +++ b/docs/score_tools/index.rst @@ -17,22 +17,21 @@ S-CORE Tools Overview ===================== -.. needtable:: Tools List - :tags: tool_management - :filter: "tool_management" in tags and type == "doc_tool" and is_external == False - :style: table - :sort: status - :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" - :colwidths: 30,30,30,30,30,30,30 +.. .. needtable:: Tools List +.. :tags: tool_management +.. :filter: "tool_management" in tags and type == "doc_tool" and is_external == False +.. :style: table +.. :sort: status +.. :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" +.. :colwidths: 30,30,30,30,30,30,30 .. toctree:: :hidden: :maxdepth: 2 eclipse_score_tools_safety_evaluation_list - doc_as_code - gtest - bazel - rustfmt - itf - clippy + score_tools_evaluation_list + tools_documentation/index + tools_static_analysis_code_quality/index + tools_testing_frameworks/index + tools_build_development/index diff --git a/docs/score_tools/score_tools_evaluation_list.rst b/docs/score_tools/score_tools_evaluation_list.rst new file mode 100644 index 00000000000..4b3445b513f --- /dev/null +++ b/docs/score_tools/score_tools_evaluation_list.rst @@ -0,0 +1,193 @@ +.. + # ******************************************************************************* + # Copyright (c) 2026 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. document:: Tool Evaluation List + :id: doc__tool_evaluation_list + :status: draft + :safety: ASIL_B + :security: YES + :realizes: wp__tool_verification_report + :tags: tool_management + + +.. contents:: Table of Contents + :depth: 3 + :local: + + +S-CORE - Complete Tool List for Tool Evaluation +=============================================== + +Overview +-------- + +This document provides a comprehensive initial inventory of all tools used across the Eclipse +S-CORE project. + +The list is categorized by tool type, e.g. documentation tools, static analysis tools, testing +frameworks, build tools, etc. + +The list is intended to be used for the evaluation of tools for safety and security impact, as part +of the tool management process defined in the S-CORE Tool Management Plan. + +In future iterations, the list will be completed and updated, and delivered with every platform +release, as part of the Tool Verification Report. + + +1 Documentation Tools +--------------------- + +.. list-table:: Documentation Tools + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 1-1 + - Doc-as-Code + - Documentation generation tool + - 3.0.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__doc_as_code` + - YES + * - 1-2 + - Sphinx + - Python documentation generator (underlying Doc-as-Code) + - Latest (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__doc_as_code` + - YES + + + +2 Static Analysis & Code Quality +-------------------------------- + + +2a C++ +++++++ + + +2b Rust ++++++++ + +.. list-table:: Rust Static Analysis & Code Quality + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 2b-1 + - clippy + - Rust linter for static code analysis + - 1.90.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__clippy` + - YES + * - 2b-2 + - Sphinx + - Rust code formatter + - 1.8.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__rustfmt` + - YES + +2c Python ++++++++++ + + + +2d Other +++++++++ + + + + +3 Testing Frameworks +-------------------- + +.. list-table:: Testing Frameworks + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 3-1 + - gtest (GoogleTest) + - C++ testing framework + - 1.15.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__gtest` + - YES + * - 3-2 + - ITF + - Integration Testing Framework, pytest-based + - 0.1.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__itf` + - YES + + +4 Build & Development Tools +--------------------------- + +.. list-table:: Build & Development Tools + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 4-1 + - Bazel + - Main build system + - 8.3.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__bazel` + - YES + + + +.. [1] The tool version mentioned in this document is preliminary. + Exact version must be derived before every platform release. diff --git a/docs/score_tools/_assets/bazel.drawio.svg b/docs/score_tools/tools_build_development/_assets/bazel.drawio.svg similarity index 100% rename from docs/score_tools/_assets/bazel.drawio.svg rename to docs/score_tools/tools_build_development/_assets/bazel.drawio.svg diff --git a/docs/score_tools/bazel.rst b/docs/score_tools/tools_build_development/bazel.rst similarity index 99% rename from docs/score_tools/bazel.rst rename to docs/score_tools/tools_build_development/bazel.rst index 60aeaf398f2..2b9a07c7dfd 100644 --- a/docs/score_tools/bazel.rst +++ b/docs/score_tools/tools_build_development/bazel.rst @@ -20,7 +20,7 @@ :safety_affected: YES :security_affected: YES :realizes: wp__tool_verification_report - :tags: tool_management + :tags: tool_management, tools_build_development Bazel Verification Report diff --git a/docs/score_tools/tools_build_development/index.rst b/docs/score_tools/tools_build_development/index.rst new file mode 100644 index 00000000000..4c8f11c754b --- /dev/null +++ b/docs/score_tools/tools_build_development/index.rst @@ -0,0 +1,32 @@ +.. + # ******************************************************************************* + # Copyright (c) 2024 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _tools_build_development: + +Build & Development Tools Overview +================================== + +.. needtable:: Testing Frameworks List + :tags: tool_management, tools_build_development + :filter: "tool_management" in tags and "tools_build_development" in tags and type == "doc_tool" and is_external == False + :style: table + :sort: status + :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" + :colwidths: 30,30,30,30,30,30,30 + +.. toctree:: + :hidden: + :maxdepth: 2 + + bazel diff --git a/docs/score_tools/_assets/doc_as_code.drawio.svg b/docs/score_tools/tools_documentation/_assets/doc_as_code.drawio.svg similarity index 100% rename from docs/score_tools/_assets/doc_as_code.drawio.svg rename to docs/score_tools/tools_documentation/_assets/doc_as_code.drawio.svg diff --git a/docs/score_tools/doc_as_code.rst b/docs/score_tools/tools_documentation/doc_as_code.rst similarity index 99% rename from docs/score_tools/doc_as_code.rst rename to docs/score_tools/tools_documentation/doc_as_code.rst index 3c3faa6db37..ae15e46b866 100644 --- a/docs/score_tools/doc_as_code.rst +++ b/docs/score_tools/tools_documentation/doc_as_code.rst @@ -20,7 +20,7 @@ :safety_affected: YES :security_affected: YES :realizes: wp__tool_verification_report - :tags: tool_management + :tags: tool_management, tools_documentation Doc-as-Code Verification Report diff --git a/docs/score_tools/tools_documentation/index.rst b/docs/score_tools/tools_documentation/index.rst new file mode 100644 index 00000000000..668a7a65504 --- /dev/null +++ b/docs/score_tools/tools_documentation/index.rst @@ -0,0 +1,32 @@ +.. + # ******************************************************************************* + # Copyright (c) 2024 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _tools_documentation: + +Documentation Tools Overview +============================ + +.. needtable:: Documentation Tools List + :tags: tool_management, tools_documentation + :filter: "tool_management" in tags and "tools_documentation" in tags and type == "doc_tool" and is_external == False + :style: table + :sort: status + :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" + :colwidths: 30,30,30,30,30,30,30 + +.. toctree:: + :hidden: + :maxdepth: 2 + + doc_as_code diff --git a/docs/score_tools/_assets/clippy.drawio.svg b/docs/score_tools/tools_static_analysis_code_quality/_assets/clippy.drawio.svg similarity index 100% rename from docs/score_tools/_assets/clippy.drawio.svg rename to docs/score_tools/tools_static_analysis_code_quality/_assets/clippy.drawio.svg diff --git a/docs/score_tools/_assets/rustfmt.drawio.svg b/docs/score_tools/tools_static_analysis_code_quality/_assets/rustfmt.drawio.svg similarity index 100% rename from docs/score_tools/_assets/rustfmt.drawio.svg rename to docs/score_tools/tools_static_analysis_code_quality/_assets/rustfmt.drawio.svg diff --git a/docs/score_tools/clippy.rst b/docs/score_tools/tools_static_analysis_code_quality/clippy.rst similarity index 98% rename from docs/score_tools/clippy.rst rename to docs/score_tools/tools_static_analysis_code_quality/clippy.rst index ac82b557af7..478b9fa1341 100644 --- a/docs/score_tools/clippy.rst +++ b/docs/score_tools/tools_static_analysis_code_quality/clippy.rst @@ -20,7 +20,7 @@ :safety_affected: YES :security_affected: YES :realizes: wp__tool_verification_report - :tags: tool_management + :tags: tool_management, tools_static_analysis_code_quality Clippy Verification Report =========================== diff --git a/docs/score_tools/tools_static_analysis_code_quality/index.rst b/docs/score_tools/tools_static_analysis_code_quality/index.rst new file mode 100644 index 00000000000..f050ca6bf70 --- /dev/null +++ b/docs/score_tools/tools_static_analysis_code_quality/index.rst @@ -0,0 +1,33 @@ +.. + # ******************************************************************************* + # Copyright (c) 2024 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _tools_static_analysis_code_quality: + +Static Analysis & Code Quality Tools Overview +============================================= + +.. needtable:: Static Analysis & Code Quality List + :tags: tool_management, tools_static_analysis_code_quality + :filter: "tool_management" in tags and "tools_static_analysis_code_quality" in tags and type == "doc_tool" and is_external == False + :style: table + :sort: status + :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" + :colwidths: 30,30,30,30,30,30,30 + +.. toctree:: + :hidden: + :maxdepth: 2 + + clippy + rustfmt diff --git a/docs/score_tools/rustfmt.rst b/docs/score_tools/tools_static_analysis_code_quality/rustfmt.rst similarity index 98% rename from docs/score_tools/rustfmt.rst rename to docs/score_tools/tools_static_analysis_code_quality/rustfmt.rst index 881d01f4773..a76eadbac86 100644 --- a/docs/score_tools/rustfmt.rst +++ b/docs/score_tools/tools_static_analysis_code_quality/rustfmt.rst @@ -20,7 +20,7 @@ :safety_affected: YES :security_affected: YES :realizes: wp__tool_verification_report - :tags: tool_management + :tags: tool_management, tools_static_analysis_code_quality Rustfmt Verification Report =========================== diff --git a/docs/score_tools/_assets/gtest.drawio.svg b/docs/score_tools/tools_testing_frameworks/_assets/gtest.drawio.svg similarity index 100% rename from docs/score_tools/_assets/gtest.drawio.svg rename to docs/score_tools/tools_testing_frameworks/_assets/gtest.drawio.svg diff --git a/docs/score_tools/_assets/itf.drawio.svg b/docs/score_tools/tools_testing_frameworks/_assets/itf.drawio.svg similarity index 100% rename from docs/score_tools/_assets/itf.drawio.svg rename to docs/score_tools/tools_testing_frameworks/_assets/itf.drawio.svg diff --git a/docs/score_tools/gtest.rst b/docs/score_tools/tools_testing_frameworks/gtest.rst similarity index 99% rename from docs/score_tools/gtest.rst rename to docs/score_tools/tools_testing_frameworks/gtest.rst index 43e8671808b..fa0169da1a0 100644 --- a/docs/score_tools/gtest.rst +++ b/docs/score_tools/tools_testing_frameworks/gtest.rst @@ -20,7 +20,7 @@ :safety_affected: YES :security_affected: YES :realizes: wp__tool_verification_report - :tags: tool_management + :tags: tool_management, tools_testing_frameworks GoogleTest (GTest) Verification Report ====================================== diff --git a/docs/score_tools/tools_testing_frameworks/index.rst b/docs/score_tools/tools_testing_frameworks/index.rst new file mode 100644 index 00000000000..edd45ef3f4a --- /dev/null +++ b/docs/score_tools/tools_testing_frameworks/index.rst @@ -0,0 +1,33 @@ +.. + # ******************************************************************************* + # Copyright (c) 2024 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _tools_testing_frameworks: + +Testing Frameworks Tools Overview +================================= + +.. needtable:: Testing Frameworks List + :tags: tool_management, tools_testing_frameworks + :filter: "tool_management" in tags and "tools_testing_frameworks" in tags and type == "doc_tool" and is_external == False + :style: table + :sort: status + :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" + :colwidths: 30,30,30,30,30,30,30 + +.. toctree:: + :hidden: + :maxdepth: 2 + + gtest + itf diff --git a/docs/score_tools/itf.rst b/docs/score_tools/tools_testing_frameworks/itf.rst similarity index 99% rename from docs/score_tools/itf.rst rename to docs/score_tools/tools_testing_frameworks/itf.rst index aa906f1da93..e06bbb2cf30 100644 --- a/docs/score_tools/itf.rst +++ b/docs/score_tools/tools_testing_frameworks/itf.rst @@ -20,7 +20,7 @@ :safety_affected: YES :security_affected: YES :realizes: wp__tool_verification_report - :tags: tool_management + :tags: tool_management, tools_testing_frameworks ITF (Integration Testing Framework) Verification Report ======================================================= From c695d4ffb8f7bf95fe24574b521a25901fd08bc6 Mon Sep 17 00:00:00 2001 From: "markus.schu" Date: Mon, 9 Feb 2026 08:44:31 +0100 Subject: [PATCH 3/4] complete tool evaulation list --- docs/score_tools/index.rst | 3 + .../score_tools_evaluation_list.rst | 470 +++++++++++++++++- .../tools_build_development/index.rst | 2 +- docs/score_tools/tools_compiler/index.rst | 30 ++ .../score_tools/tools_documentation/index.rst | 2 +- .../tools_license_security/index.rst | 30 ++ .../index.rst | 2 +- .../tools_testing_frameworks/index.rst | 2 +- docs/score_tools/tools_vc_cicd/index.rst | 30 ++ 9 files changed, 562 insertions(+), 9 deletions(-) create mode 100644 docs/score_tools/tools_compiler/index.rst create mode 100644 docs/score_tools/tools_license_security/index.rst create mode 100644 docs/score_tools/tools_vc_cicd/index.rst diff --git a/docs/score_tools/index.rst b/docs/score_tools/index.rst index a09cfd2db09..9e668d9d6b4 100644 --- a/docs/score_tools/index.rst +++ b/docs/score_tools/index.rst @@ -35,3 +35,6 @@ S-CORE Tools Overview tools_static_analysis_code_quality/index tools_testing_frameworks/index tools_build_development/index + tools_compiler/index + tools_vc_cicd/index + tools_license_security/index diff --git a/docs/score_tools/score_tools_evaluation_list.rst b/docs/score_tools/score_tools_evaluation_list.rst index 4b3445b513f..240ea466dc8 100644 --- a/docs/score_tools/score_tools_evaluation_list.rst +++ b/docs/score_tools/score_tools_evaluation_list.rst @@ -72,11 +72,58 @@ release, as part of the Tool Verification Report. - Sphinx - Python documentation generator (underlying Doc-as-Code) - Latest (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 1-3 + - sphinx-needs + - Requirements tracking extension for Sphinx + - T.B.D. (see [1]_) - YES - :need:`rl__infrastructure_tooling_community` - - :need:`doc_tool__doc_as_code` + - N/A + - YES + * - 1-4 + - PlantUML + - UML diagram generation + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 1-5 + - Graphviz + - Graph visualization software + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 1-6 + - sphinxcontrib.plantuml + - PlantUML integration for Sphinx + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 1-7 + - TRLC + - BMW Requirements Traceability Language and Compiler + - 2.0.2 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 1-8 + - LOBSTER + - BMW Requirements traceability and documentation tool + - T.B.D. (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A - YES - 2 Static Analysis & Code Quality @@ -86,6 +133,51 @@ release, as part of the Tool Verification Report. 2a C++ ++++++ +.. list-table:: C++ Static Analysis & Code Quality + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 2a-1 + - clang-tidy + - Static analysis for C++, used with Clang compiler + - 19.x (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2a-2 + - clang-analyzer + - Static analyzer from LLVM project + - 19.x (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2a-3 + - CodeQL + - CodeQL is a semantic code analysis engine used for security and code quality analysis. + - T.B.D. (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2a-4 + - gcovr + - Code coverage tool (uses gcov from GCC), part of GNU compiler collection + - T.B.D. (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + 2b Rust +++++++ @@ -111,23 +203,143 @@ release, as part of the Tool Verification Report. - :need:`doc_tool__clippy` - YES * - 2b-2 - - Sphinx + - rustfmt - Rust code formatter - 1.8.0 (see [1]_) - YES - :need:`rl__infrastructure_tooling_community` - :need:`doc_tool__rustfmt` - YES + * - 2b-3 + - rust-analyzer + - Rust language server for IDE support + - 1.8.0 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + 2c Python +++++++++ +.. list-table:: Python Static Analysis & Code Quality + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 2c-1 + - ruff + - Fast Python formatter and linter, replaces multiple tools + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2c-2 + - pyright + - Python static type checker + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2c-3 + - pylint + - Python code quality analysis + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2c-4 + - pytest-cov + - Python test coverage reporting + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2c-5 + - basedpyright + - Alternative Python type checker + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES 2d Other ++++++++ +.. list-table:: Other Static Analysis & Code Quality + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 2d-1 + - yamlfmt + - YAML file formatter + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2d-2 + - actionlint + - GitHub Actions workflow linter + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2d-3 + - starpls + - Starlark (Bazel) language server + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2d-4 + - score_tooling + - Copyright checker, CLI helper, license checker + - 1.0.4 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2d-5 + - bazel-tools-cc + - Clang-tidy based static code checker for Bazel + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 2d-6 + - gitlint + - Commit message linting + - 0.19.1 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES 3 Testing Frameworks @@ -150,7 +362,7 @@ release, as part of the Tool Verification Report. - C++ testing framework - 1.15.0 (see [1]_) - YES - - :need:`rl__infrastructure_tooling_community` + - :need:`rl__testing_community` - :need:`doc_tool__gtest` - YES * - 3-2 @@ -158,9 +370,18 @@ release, as part of the Tool Verification Report. - Integration Testing Framework, pytest-based - 0.1.0 (see [1]_) - YES - - :need:`rl__infrastructure_tooling_community` + - :need:`rl__testing_community` - :need:`doc_tool__itf` - YES + * - 3-3 + - pytest + - Python testing framework + - T.B.D. (see [1]_) + - YES + - :need:`rl__testing_community` + - N/A + - YES + 4 Build & Development Tools @@ -186,6 +407,245 @@ release, as part of the Tool Verification Report. - :need:`rl__infrastructure_tooling_community` - :need:`doc_tool__bazel` - YES + * - 4-2 + - buildifier + - Bazel file formatter and linter + - 8.2.0.2 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-3 + - rules_python + - Bazel Python build rules + - 1.4.1 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-4 + - aspect_rules_py + - Enhanced Python rules (provides py_venv) + - 1.6.3 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-5 + - aspect_rules_lint + - Generic linting and formatting rules + - 1.5.3 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-6 + - rules_pkg + - Packaging dependencies + - 1.1.0 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-7 + - rules_java + - Java build rules + - 8.15.1 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-8 + - rules_cc + - C/C++ build rules + - 0.2.1 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-9 + - rules_rust + - Rust build rules for Bazel + - 0.63.0 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-10 + - score_toolchains_qnx + - QNX SDP toolchain including compiler, linker, image creation tools + - 0.5 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-11 + - score_toolchains_gcc + - GCC toolchain packages for various targets + - 0.5 (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 4-11 + - score_toolchains_rust + - Rust toolchains for SCORE project + - T.B.D. (see [1]_) + - NO + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + +5 Compiler +---------- + +5a C++ Compiler ++++++++++++++++ + +.. list-table:: C++ Compiler + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 5a-1 + - GCC + - Host C++ compiler with linker, generates compiler warnings, builds unit tests and binaries for SW integration testing + - 12+ (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 5a-2 + - QNX 8.x SDP + - Qualifiable compiler/linker from BlackBerry for QNX, used for target compilation + - 12+ (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__bazel` + - N/A + * - 5a-3 + - LLVM/Clang + - Alternative C++ compiler toolchain + - 19.1.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__bazel` + - N/A + * - 5a-4 + - toolchains_llvm + - LLVM toolchain rules for Bazel (host configuration, C++17 standard) + - 1.4.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - :need:`doc_tool__bazel` + - N/A + + +5b Rust Compiler +++++++++++++++++ + +.. list-table:: Rust Compiler + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 5b-1 + - Ferrocene + - Qualified Rust compiler (planned for target, safety-critical use), see https://github.com/ferrocene + - 1.90.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 5b-2 + - Rust (standard) + - For host development, no current selection for S-CORE host compiler + - 1.90.0 (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - NO + + +6 Version Control & CI/CD +------------------------- + +.. list-table:: Version Control and CI/CD Tools + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 6-1 + - Git + - Version control system + - 2.x (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 6-2 + - GitHub + - Code hosting and collaboration platform + - T.B.D. (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + * - 6-3 + - GitHub Actions + - CI/CD automation platform + - T.B.D. (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + + +7 License & Security +-------------------- + +.. list-table:: License & Security + :header-rows: 1 + :widths: 5 15 15 10 10 10 40 40 + + * - ID + - Tool Name + - Description + - Version + - Relevant [YES|NO] + - Tool ownership + - Link to Verification Report (if relevant) + - Confirmation of Use [YES|NO] (if relevant) + * - 7-1 + - Eclipse Dash + - License analysis tool + - T.B.D. (see [1]_) + - YES + - :need:`rl__infrastructure_tooling_community` + - N/A + - YES + diff --git a/docs/score_tools/tools_build_development/index.rst b/docs/score_tools/tools_build_development/index.rst index 4c8f11c754b..804e5894982 100644 --- a/docs/score_tools/tools_build_development/index.rst +++ b/docs/score_tools/tools_build_development/index.rst @@ -1,6 +1,6 @@ .. # ******************************************************************************* - # Copyright (c) 2024 Contributors to the Eclipse Foundation + # Copyright (c) 2026 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. diff --git a/docs/score_tools/tools_compiler/index.rst b/docs/score_tools/tools_compiler/index.rst new file mode 100644 index 00000000000..c8f24869249 --- /dev/null +++ b/docs/score_tools/tools_compiler/index.rst @@ -0,0 +1,30 @@ +.. + # ******************************************************************************* + # Copyright (c) 2026 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _tools_compiler: + +Compiler Tools Overview +======================= + +.. needtable:: Compiler Tools List + :tags: tool_management, tools_compiler + :filter: "tool_management" in tags and "tools_compiler" in tags and type == "doc_tool" and is_external == False + :style: table + :sort: status + :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" + :colwidths: 30,30,30,30,30,30,30 + +.. toctree:: + :hidden: + :maxdepth: 2 diff --git a/docs/score_tools/tools_documentation/index.rst b/docs/score_tools/tools_documentation/index.rst index 668a7a65504..dd768e6447f 100644 --- a/docs/score_tools/tools_documentation/index.rst +++ b/docs/score_tools/tools_documentation/index.rst @@ -1,6 +1,6 @@ .. # ******************************************************************************* - # Copyright (c) 2024 Contributors to the Eclipse Foundation + # Copyright (c) 2026 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. diff --git a/docs/score_tools/tools_license_security/index.rst b/docs/score_tools/tools_license_security/index.rst new file mode 100644 index 00000000000..df0fb48f087 --- /dev/null +++ b/docs/score_tools/tools_license_security/index.rst @@ -0,0 +1,30 @@ +.. + # ******************************************************************************* + # Copyright (c) 2026 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _tools_license_security: + +License & Security +================== + +.. needtable:: Compiler Tools List + :tags: tool_management, tools_license_security + :filter: "tool_management" in tags and "tools_license_security" in tags and type == "doc_tool" and is_external == False + :style: table + :sort: status + :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" + :colwidths: 30,30,30,30,30,30,30 + +.. toctree:: + :hidden: + :maxdepth: 2 diff --git a/docs/score_tools/tools_static_analysis_code_quality/index.rst b/docs/score_tools/tools_static_analysis_code_quality/index.rst index f050ca6bf70..a924110be96 100644 --- a/docs/score_tools/tools_static_analysis_code_quality/index.rst +++ b/docs/score_tools/tools_static_analysis_code_quality/index.rst @@ -1,6 +1,6 @@ .. # ******************************************************************************* - # Copyright (c) 2024 Contributors to the Eclipse Foundation + # Copyright (c) 2026 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. diff --git a/docs/score_tools/tools_testing_frameworks/index.rst b/docs/score_tools/tools_testing_frameworks/index.rst index edd45ef3f4a..34845e3b4f0 100644 --- a/docs/score_tools/tools_testing_frameworks/index.rst +++ b/docs/score_tools/tools_testing_frameworks/index.rst @@ -1,6 +1,6 @@ .. # ******************************************************************************* - # Copyright (c) 2024 Contributors to the Eclipse Foundation + # Copyright (c) 2026 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. diff --git a/docs/score_tools/tools_vc_cicd/index.rst b/docs/score_tools/tools_vc_cicd/index.rst new file mode 100644 index 00000000000..3b219d9e6de --- /dev/null +++ b/docs/score_tools/tools_vc_cicd/index.rst @@ -0,0 +1,30 @@ +.. + # ******************************************************************************* + # Copyright (c) 2026 Contributors to the Eclipse Foundation + # + # See the NOTICE file(s) distributed with this work for additional + # information regarding copyright ownership. + # + # This program and the accompanying materials are made available under the + # terms of the Apache License Version 2.0 which is available at + # https://www.apache.org/licenses/LICENSE-2.0 + # + # SPDX-License-Identifier: Apache-2.0 + # ******************************************************************************* + +.. _tools_vc_cicd: + +Version Control & CI/CD Tools Overview +====================================== + +.. needtable:: Compiler Tools List + :tags: tool_management, tools_vc_cicd + :filter: "tool_management" in tags and "tools_vc_cicd" in tags and type == "doc_tool" and is_external == False + :style: table + :sort: status + :columns: id as "UID";title as "TITLE";version as "VERSION";status as "STATUS";tcl as "TCL";safety_affected as "SAFETY AFFECTED";security_affected as "SECURITY AFFECTED" + :colwidths: 30,30,30,30,30,30,30 + +.. toctree:: + :hidden: + :maxdepth: 2 From 1b3f4ab5690285502384589c44a6a190dcd99908 Mon Sep 17 00:00:00 2001 From: "markus.schu" Date: Mon, 9 Feb 2026 08:47:31 +0100 Subject: [PATCH 4/4] removed initial overview list --- ...pse_score_tools_safety_evaluation_list.rst | 1086 ----------------- docs/score_tools/index.rst | 1 - 2 files changed, 1087 deletions(-) delete mode 100644 docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst diff --git a/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst b/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst deleted file mode 100644 index 0e791e954d2..00000000000 --- a/docs/score_tools/eclipse_score_tools_safety_evaluation_list.rst +++ /dev/null @@ -1,1086 +0,0 @@ -.. ******************************************************************************* -.. Copyright (c) 2026 Contributors to the Eclipse Foundation -.. -.. See the NOTICE file(s) distributed with this work for additional -.. information regarding copyright ownership. -.. -.. This program and the accompanying materials are made available under the -.. terms of the Apache License Version 2.0 which is available at -.. https://www.apache.org/licenses/LICENSE-2.0 -.. -.. SPDX-License-Identifier: Apache-2.0 -.. ******************************************************************************* - - -.. attention:: - This list is only for evaluation reasons and will be deleted after the evaluation is completed. - -=================== -ONLY FOR EVALUATION -=================== - -:Date: January 26, 2026 -:Organization: Eclipse Foundation -:Project: Eclipse SCORE (Scalable & Modular COmponent Runtime Environment) -:Purpose: Comprehensive tool inventory for safety classification and evaluation - -.. contents:: Table of Contents - :depth: 3 - :local: - -Overview -======== - -This document provides a comprehensive initial inventory of all tools used across the Eclipse SCORE project -and its 68+ repositories under https://github.com/eclipse-score. The list includes build tools, -compilers, static analyzers, testing frameworks, documentation generators, and supporting utilities. - -Each tool should be evaluated for safety and security impact according to the tool management process -defined in the S-CORE Tool Management Plan. - -But first the list must be validated and completed with any missing tools. Also there may be -false positives that need to be removed, e.g. nhlohmann_json is a library, not a tool. - -Please review the list below and provide feedback on any missing tools, false positives, -or other discrepancies. - -The version is not important for now, but will be tracked in the future. - -In future iterations, the following the collection will be enhanced and updated, at least for -version using automatic SBOM generation. - - -Build & Development Tools -========================== - -Build System & Package Management ----------------------------------- - -.. list-table:: Build System Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 1 - - Bazel - - 8.3.0 - - LOW - - YES - - YES - - Main build system (documented in score_tools) - * - 2 - - Bazelisk - - Latest - - TBD - - TBD - - TBD - - Bazel version manager, reads .bazelversion file - * - 3 - - buildifier - - 8.2.0.2 - - TBD - - TBD - - TBD - - Bazel file formatter and linter - * - 4 - - rules_python - - 1.4.1 - - TBD - - TBD - - TBD - - Bazel Python build rules - * - 5 - - aspect_rules_py - - 1.6.3 - - TBD - - TBD - - TBD - - Enhanced Python rules (provides py_venv) - * - 6 - - aspect_rules_lint - - 1.5.3 - - TBD - - TBD - - TBD - - Generic linting and formatting rules - * - 7 - - rules_pkg - - 1.1.0 - - TBD - - TBD - - TBD - - Packaging dependencies - * - 8 - - rules_java - - 8.15.1 - - TBD - - TBD - - TBD - - Java build rules - * - 9 - - rules_cc - - 0.1.1/0.2.1 - - TBD - - TBD - - TBD - - C/C++ build rules - * - 10 - - rules_rust - - 0.61.0-0.63.0 - - TBD - - TBD - - TBD - - Rust build rules for Bazel - -Compilers & Toolchains -====================== - -C++ Compilers -------------- - -.. list-table:: C++ Compiler Toolchains - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 11 - - GCC - - 12+ - - TBD - - YES - - YES - - Host C++ compiler with linker, generates compiler warnings, builds unit tests and binaries for SW integration testing - * - 12 - - QCC - - QNX 8.x SDP - - TBD - - YES - - YES - - Qualifiable compiler/linker from BlackBerry for QNX, used for target compilation - * - 13 - - LLVM/Clang - - 19.1.0 - - TBD - - YES - - YES - - Alternative C++ compiler toolchain - * - 14 - - toolchains_llvm - - 1.4.0 - - TBD - - YES - - YES - - LLVM toolchain rules for Bazel (host configuration, C++17 standard) - -Rust Compilers --------------- - -.. list-table:: Rust Compiler Toolchains - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 15 - - Ferrocene - - Planned - - TBD - - YES - - YES - - Qualified Rust compiler (planned for target, safety-critical use), see https://github.com/ferrocene - * - 16 - - Rust (standard) - - 1.90.0+ - - TBD - - YES - - YES - - For host development, no current selection for S-CORE host compiler - -QNX & Platform Toolchains --------------------------- - -.. list-table:: Platform-Specific Toolchains - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 17 - - score_toolchains_qnx - - 0.0.2/0.5 - - TBD - - YES - - YES - - QNX SDP toolchain including compiler, linker, image creation tools - * - 18 - - score_toolchains_gcc - - 0.4/0.5 - - TBD - - YES - - YES - - GCC toolchain packages for various targets - * - 19 - - score_toolchains_rust - - Various - - TBD - - YES - - YES - - Rust toolchains for SCORE project - -Static Analysis & Code Quality -=============================== - -C++ Static Analysis -------------------- - -.. list-table:: C++ Analysis Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 20 - - clang-tidy - - 19.x - - TBD - - YES - - YES - - Static analysis for C++, used with Clang compiler - * - 21 - - clang-analyzer - - 19.x - - TBD - - YES - - YES - - Static analyzer from LLVM project - -Rust Static Analysis ---------------------- - -.. list-table:: Rust Analysis Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 22 - - clippy - - 1.90.0+ - - HIGH - - YES - - YES - - Rust linter for static code analysis (documented in score_tools) - * - 23 - - rustfmt - - 1.8.0+ - - HIGH - - YES - - YES - - Rust code formatter (documented in score_tools, version derived from qualified compiler) - * - 24 - - rust-analyzer - - Latest - - TBD - - TBD - - TBD - - Rust language server for IDE support - -Python Analysis ---------------- - -.. list-table:: Python Analysis Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 25 - - ruff - - Latest - - TBD - - YES - - YES - - Fast Python formatter and linter, replaces multiple tools - * - 26 - - pyright - - Latest - - TBD - - YES - - YES - - Python static type checker (99% test coverage) - * - 27 - - pylint - - Latest - - TBD - - YES - - YES - - Python code quality analysis (96% test coverage) - * - 28 - - pytest - - Latest - - TBD - - YES - - YES - - Python testing framework (97% test coverage) - * - 29 - - pytest-cov - - Latest - - TBD - - YES - - YES - - Python test coverage reporting - -Other Formatters & Linters ---------------------------- - -.. list-table:: General Formatters and Linters - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 30 - - yamlfmt - - Latest - - TBD - - TBD - - TBD - - YAML file formatter - * - 31 - - actionlint - - Latest - - TBD - - TBD - - TBD - - GitHub Actions workflow linter - * - 32 - - starpls - - Latest - - TBD - - TBD - - TBD - - Starlark (Bazel) language server - * - 33 - - basedpyright - - Latest - - TBD - - YES - - YES - - Alternative Python type checker - -Testing Frameworks -================== - -.. list-table:: Testing Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 34 - - GoogleTest (gtest) - - 1.15.0/1.17.0 - - LOW - - YES - - YES - - C++ testing framework (documented in score_tools) - * - 35 - - ITF - - 0.1.0 - - LOW - - YES - - YES - - Integration Testing Framework, pytest-based (documented in score_tools) - * - 36 - - gcovr - - Latest - - TBD - - YES - - YES - - Code coverage tool (uses gcov from GCC), part of GNU compiler collection - -Documentation Tools -=================== - -.. list-table:: Documentation Generation Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 37 - - Doc-as-Code - - 2.0.2/2.2.0/2.3.3 - - LOW - - YES - - YES - - S-CORE documentation generation tool (documented in score_tools) - * - 38 - - Sphinx - - Latest - - TBD - - YES - - YES - - Python documentation generator (underlying Doc-as-Code) - * - 39 - - sphinx-needs - - Latest - - TBD - - YES - - YES - - Requirements tracking extension for Sphinx - * - 40 - - PlantUML - - Latest - - TBD - - TBD - - TBD - - UML diagram generation - * - 41 - - Graphviz - - Latest - - TBD - - TBD - - TBD - - Graph visualization software - * - 42 - - sphinxcontrib.plantuml - - Latest - - TBD - - TBD - - TBD - - PlantUML integration for Sphinx - -S-CORE Custom Tooling -===================== - -.. list-table:: S-CORE Specific Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 43 - - score_tooling - - 1.0.2/1.0.4 - - TBD - - YES - - YES - - Copyright checker, CLI helper, license checker - * - 44 - - score_process - - 1.4.2 - - TBD - - YES - - YES - - Process description tools (ASPICE 4.0, ISO 26262, ISO 21434, ISO PAS 8926) - * - 45 - - bazel-tools-cc - - Latest - - TBD - - YES - - YES - - Clang-tidy based static code checker for Bazel - -Version Control & CI/CD -======================== - -.. list-table:: Version Control and CI/CD Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 46 - - Git - - 2.x - - TBD - - YES - - YES - - Version control system - * - 47 - - GitHub - - Cloud - - TBD - - YES - - YES - - Code hosting and collaboration platform - * - 48 - - GitHub Actions - - Cloud - - TBD - - YES - - YES - - CI/CD automation platform - * - 49 - - gitlint - - 0.19.1 - - TBD - - TBD - - TBD - - Commit message linting (Docker: jorisroovers/gitlint) - -License & Security -================== - -.. list-table:: License and Security Analysis Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 50 - - Eclipse Dash - - Latest - - TBD - - TBD - - YES - - License analysis tool - * - 51 - - REUSE - - Latest - - TBD - - TBD - - YES - - License compliance checking - -Libraries & Dependencies -======================== - -C++ Libraries -------------- - -.. list-table:: C++ Library Dependencies - :header-rows: 1 - :widths: 5 20 15 50 - - * - ID - - Library Name - - Version - - Purpose - * - 52 - - Boost - - 1.87.0 - - C++ libraries (specifically boost.program_options) - * - 53 - - nlohmann_json - - Latest - - JSON library for C++ - * - 54 - - protobuf - - 29.0 - - Protocol buffers - * - 55 - - abseil-cpp - - 20240116.1 - - Abseil C++ common libraries - * - 56 - - jsoncpp - - 1.9.5 - - JSON library for C++ - -Rust Libraries --------------- - -.. list-table:: Rust Library Dependencies (via crate_index) - :header-rows: 1 - :widths: 5 20 15 50 - - * - ID - - Crate Name - - Version - - Purpose - * - 57a - - futures - - 0.3.31 - - Asynchronous programming - * - 57b - - libc - - 0.2.155 - - Raw FFI bindings for platform APIs - * - 57c - - clap - - 4.5.4 - - Command line argument parser - -Requirements & Traceability ----------------------------- - -.. list-table:: Requirements Management Tools - :header-rows: 1 - :widths: 5 20 15 50 - - * - ID - - Tool Name - - Version - - Purpose - * - 58 - - TRLC - - 2.0.2 (commit 650b51a) - - BMW Requirements Traceability Language and Compiler - * - 59 - - LOBSTER - - Latest - - Requirements traceability and documentation tool (via custom extension) - -Container & Development Environment -=================================== - -.. list-table:: Container and Development Tools - :header-rows: 1 - :widths: 5 15 10 10 10 10 40 - - * - ID - - Tool Name - - Version - - TCL - - Safety - - Security - - Notes - * - 60 - - Docker - - Latest - - TBD - - TBD - - YES - - Container platform (used in devcontainer) - * - 61 - - devcontainer - - Custom - - TBD - - TBD - - TBD - - VS Code development container configuration - * - 62 - - QEMU - - Latest - - TBD - - YES - - YES - - Emulator for integration testing (qemu-system-aarch64) - * - 63 - - SSH tools - - Latest - - TBD - - TBD - - YES - - Remote connection (sshpass, SSH client) - -Additional System Tools -======================= - -.. list-table:: System Utilities - :header-rows: 1 - :widths: 5 20 15 50 - - * - ID - - Tool Name - - Version - - Purpose - * - 64 - - curl - - Latest - - HTTP client for downloading dependencies - * - 65 - - protoc - - Latest - - Protocol buffer compiler - * - 66 - - dot - - Latest - - Graphviz command-line tool - * - 67 - - jq - - Latest - - JSON processor - * - 68 - - yq - - Latest - - YAML processor - * - 69 - - tar - - Latest - - Archive utility - -Platform & Target Support -========================= - -.. list-table:: Platform and OS Support - :header-rows: 1 - :widths: 5 20 15 50 - - * - ID - - Platform/Tool - - Version - - Purpose - * - 70 - - QNX 8.x SDP - - 8.x - - Real-time operating system and development platform - * - 71 - - score_bazel_platforms - - Latest - - Platform definitions (x86_64-qnx, x86_64-linux, etc.) - * - 72 - - Vulkan - - Latest - - Graphics and compute API - * - 73 - - ISP Driver - - Custom - - Image sensor pre-processing - -Language Servers & IDE Support -=============================== - -.. list-table:: IDE Language Servers - :header-rows: 1 - :widths: 5 20 15 50 - - * - ID - - Language Server - - Version - - Purpose - * - 74 - - clangd - - Latest - - C/C++ language server - * - 75 - - rust-analyzer - - Latest - - Rust language server - * - 76 - - starpls - - Latest - - Starlark (Bazel) language server - -S-CORE Module Repositories -=========================== - -The following modules from the eclipse-score organization are part of the ecosystem: - -.. list-table:: S-CORE Software Modules - :header-rows: 1 - :widths: 30 70 - - * - Repository - - Description - * - score - - Main platform repository - * - process_description - - Process description (ASPICE, ISO standards) - * - score_baselibs - - Base libraries including common functionality (C++) - * - baselibs_rust - - Rust base libraries - * - score_communication - - Communication module (LoLa) (C++) - * - persistency - - Persistency framework (Rust) - * - logging - - Logging daemon (C++) - * - orchestrator - - Orchestration framework (Rust) - * - kyron - - Safe async runtime for Rust - * - lifecycle - - Lifecycle management - * - scrample - - Example component (C++) - * - docs-as-code - - Documentation tooling (Python) - * - tooling - - S-CORE development tooling (Python) - * - itf - - Integration Testing Framework (Python) - * - bazel_registry - - Bazel modules registry - * - bazel_cpp_toolchains - - C/C++ toolchain configurations - * - toolchains_qnx - - QNX toolchain - * - toolchains_gcc - - GCC toolchain - * - toolchains_rust - - Rust toolchain - * - bazel_platforms - - Platform definitions - * - bazel-tools-cc - - C/C++ static analysis tools - * - module_template - - C++ & Rust Bazel template repository - * - reference_integration - - Integration repository - * - devcontainer - - Common devcontainer for S-CORE - * - cicd-workflows - - Reusable GitHub Actions workflows - * - nlohmann_json - - Nlohmann JSON library - * - ferrocene_toolchain_builder - - Builder for Ferrocene artifacts - * - inc_time - - Time synchronization module (incubation) - * - inc_someip_gateway - - SOME/IP gateway (incubation) - * - inc_security_crypto - - Security & Cryptography (incubation) - * - inc_score_codegen - - DSL/code generation (incubation) - * - inc_os_autosd - - AutoSD Development Platform (incubation) - * - .eclipsefdn - - Eclipse Foundation configurations - -Summary Statistics -================== - -Tool Count Overview -------------------- - -- **Total Tools Identified**: 77+ distinct tools -- **Tools with Documented TCL**: 7 tools - - - **HIGH TCL**: clippy, rustfmt - - **LOW TCL**: Bazel, gtest, ITF, Doc-as-Code - -- **Safety-Affected Tools**: Majority of development, testing, and compilation tools -- **Security-Affected Tools**: Majority of development, testing, and compilation tools -- **S-CORE Repositories**: 68+ repositories in eclipse-score GitHub organization - -Tool Classification by Category --------------------------------- - -.. list-table:: Category Summary - :header-rows: 1 - :widths: 50 50 - - * - Category - - Count - * - Build System & Package Management - - 10 - * - Compilers & Toolchains - - 9 - * - Static Analysis & Code Quality - - 14 - * - Testing Frameworks - - 3 - * - Documentation Tools - - 6 - * - S-CORE Custom Tooling - - 3 - * - Version Control & CI/CD - - 4 - * - License & Security - - 2 - * - Libraries (C++/Rust) - - 10 - * - Requirements & Traceability - - 2 - * - Container & Development - - 4 - * - System Utilities - - 6 - * - Platform Support - - 4 - * - Language Servers - - 3 - -Recommended Evaluation Priority -================================ - -Priority 1: Critical Safety-Relevant Tools -------------------------------------------- - -These tools directly impact the correctness and safety of generated code: - -1. **Compilers** - - - GCC (Host C++ compiler) - - QCC (Target C++ compiler - qualifiable) - - Ferrocene (Target Rust compiler - qualified) - - LLVM/Clang - -2. **Build System** - - - Bazel (already documented, TCL: LOW) - -Priority 2: Code Quality Gates -------------------------------- - -These tools ensure code quality before integration: - -3. **Static Analysis** - - - clang-tidy (C++ static analysis) - - clippy (Rust linter, TCL: HIGH) - - rustfmt (Rust formatter, TCL: HIGH) - - ruff (Python linter/formatter) - - pyright (Python type checker) - -Priority 3: Verification Tools -------------------------------- - -These tools verify correctness through testing: - -4. **Testing Frameworks** - - - GoogleTest/gtest (C++ testing, TCL: LOW) - - ITF (Integration testing, TCL: LOW) - - pytest (Python testing) - - gcovr (Code coverage) - -Priority 4: Traceability & Documentation ------------------------------------------ - -These tools maintain traceability and documentation: - -5. **Documentation & Requirements** - - - Doc-as-Code (Documentation generation, TCL: LOW) - - TRLC (Requirements traceability) - - LOBSTER (Traceability tool) - - Sphinx + sphinx-needs - -Priority 5: Supporting Infrastructure --------------------------------------- - -All other tools supporting the development process: - -6. **Version Control, CI/CD, Utilities** - - - Git, GitHub, GitHub Actions - - Docker, devcontainer - - System utilities (curl, protoc, etc.) - -Next Steps -========== - -For each tool identified in this document, the following activities are recommended: - -1. **Tool Classification** - - - Determine Tool Impact - - Determine Tool Error Detection - - Calculate Tool Confidence Level - -2. **Safety Evaluation** - - - Complete malfunction analysis - - Identify impact on safety - - Define safety measures - - Document in Tool Verification Report - -3. **Security Evaluation** - - - Identify security threats - - Assess impact on security - - Define security measures - -4. **Qualification Strategy** - - - For TCL 2/3: Increased confidence through use - - For TCL 2/3: Tool qualification - - Document in Tool Verification Report per :need:`gd_temp__tool_management_verif_rpt_template` - -5. **Documentation** - - - Create/update Tool Verification Reports - - Maintain tool version tracking - - Link to configuration management - -References -========== - -- S-CORE Tool Management Plan: :need:`doc__platform_tool_management_plan` -- Tool Verification Report Template: :need:`gd_temp__tool_management_verif_rpt_template` -- Tool Creation Review Checklist: :need:`gd_chklst__tool_cr_review` -- Tool Process Concept: :need:`doc_concept__tool_process` -- S-CORE GitHub Organization: https://github.com/eclipse-score -- S-CORE Bazel Registry: https://github.com/eclipse-score/bazel_registry -- S-CORE Documentation: https://eclipse-score.github.io/score - -Document History -================ - -.. list-table:: Document Revision History - :header-rows: 1 - :widths: 15 15 70 - - * - Version - - Date - - Changes - * - 1.0 - - 2026-01-26 - - Initial comprehensive tool inventory for safety evaluation - ----- - -*This document was generated based on analysis of the Eclipse SCORE project repositories as of January 26, 2026.* diff --git a/docs/score_tools/index.rst b/docs/score_tools/index.rst index 9e668d9d6b4..695ccd867af 100644 --- a/docs/score_tools/index.rst +++ b/docs/score_tools/index.rst @@ -29,7 +29,6 @@ S-CORE Tools Overview :hidden: :maxdepth: 2 - eclipse_score_tools_safety_evaluation_list score_tools_evaluation_list tools_documentation/index tools_static_analysis_code_quality/index