L.O.B.S.T.E.R.

Lightweight Open BMW Software Traceability Evidence Report
✔ !

Overview

Coverage

Category Ratio Coverage OK Items Total Items
Use Cases 33.3% 33.33% 3 9
System Requirements 0.0% 0.00% 0 20
Software Requirements 0.0% 0.00% 0 0
System Tests 83.3% 83.33% 30 36
Software Tests 0.0% 0.00% 0 0

Tracing policy

LOBSTER Tracing Policy n_1cf7e301510c711b73d2b182b9dcf084 Use Cases n_419cfc02b324dc7d8faefa90ed608fb0 System Requirements n_1cf7e301510c711b73d2b182b9dcf084->n_419cfc02b324dc7d8faefa90ed608fb0 n_9d273bd32c1fceb91b7d6a4d40e98bdd Software Requirements n_419cfc02b324dc7d8faefa90ed608fb0->n_9d273bd32c1fceb91b7d6a4d40e98bdd n_3f7ae1d4bec7e6d318ef39c7a7dcaa65 System Tests n_419cfc02b324dc7d8faefa90ed608fb0->n_3f7ae1d4bec7e6d318ef39c7a7dcaa65 n_c4738e043501e27ee3ef08d6a4883d27 Software Tests n_9d273bd32c1fceb91b7d6a4d40e98bdd->n_c4738e043501e27ee3ef08d6a4883d27

Filtering

Item Filters

Show Issues

Filter

Issues

Detailed report

Requirements and Specification

Use Cases

lobster/use_cases.trlc
TRLC Usecase UseCases.List_Ok_Items
As a traceability manager I want the traceability report to list items that
fulfill the tracing policy, and how they do so,
so that I can decide whether to release my product.

Example:
If the tracing policy is: Tests --(trace to)--> Requirements,
then the report shall list all tests that link to at least one requirement,
and the report shall list all linked requirements per test.

The use case applies to the reverse direction as well.
Traces to:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC Usecase UseCases.List_Not_Ok_Items
As a traceability manager I want the traceability report to list items that
are not covered by other items, where coverage rules are specified by the
tracing policy,
so that I can identify gaps in the coverage.

Example:
If the tracing policy is: Tests --(trace to)--> Requirements,
then the report shall list all tests that do not link to any requirement.

The use case applies to the reverse direction as well.
Traces to:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC Usecase UseCases.Item_Coverage
As a traceability manager I want the traceability report to show the fraction
of the number of items in one level (of the tracing policy)
which fulfill the tracing policy,
divided by the total number of items in that level (of the tracing policy).
The fraction shall be shown as percentage.

Example:
If the tracing policy is: Tests --(trace to)--> Requirements,
then the report shall show the fraction of requirements which are covered by at
least one test, divided by the total number of requirements.
Traces to:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC Usecase UseCases.List_Requirements_to_Tests
As a requirements manager I want the traceability report to show the list of
requirements which are covered by tests.
Issues:
  • missing reference to System Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC Usecase UseCases.List_Requirements_without_Tests
As a requirements manager I want the traceability report to show the list of
requirements which are not covered by tests.
Issues:
  • missing reference to System Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC Usecase UseCases.List_Tests_to_Requirements
As a requirements manager I want the traceability report to show the list of
tests covering requirements.
Issues:
  • missing reference to System Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC Usecase UseCases.List_Tests_without_Requirements
As a requirements manager I want the traceability report to show the list of
tests which are not covering any requirement.
Issues:
  • missing reference to System Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC Usecase UseCases.Failure_On_Invalid_Input
As a CI administrator
I want that the tool exits with a non-zero return code whenever it encounters
invalid input
so that the CI pipeline can catch invalid input automatically.
Issues:
  • missing reference to System Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC Usecase UseCases.Tool_Usability
As a user of LOBSTER I want to have a good usability and standard
command-line ergonomics, like built-in help or automatic creation of output
destinations,
so that using the tools is intuitive and seamless in scripts and interactive
use.
Issues:
  • missing reference to System Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC

System Requirements

lobster/tools/json/requirements/attributes.trlc
TRLC System_requirement json_req.Name_Attribute_Given
IF the config option "name_attribute" is given and not an empty string,
AND the input item contains that key,
THEN the tool SHALL use the value of that key as tag in the serialized LOBSTER item.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Name_Attribute_Given_Key_Missing
IF the config option "name_attribute" is given and not an empty string,
AND the input item does not contain that key,
THEN the tool SHALL print an error message identifying the missing key to STDOUT,
SHALL NOT write any output,
AND SHALL exit with a non-zero return code.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Name_Attribute_Missing
OTHERWISE (the config option "name_attribute" is not given or is an empty string),
THEN the tool SHALL create a synthetic tag name based on the path of the JSON input file
and an item counter.

Notes:
- "Synthetic" means that, the name does not need to be related to the data.
- The item counter does not need to be unique across input files,
but it shall be unique at least for each input file separately.
- No further specification is made about how to combine the path and the item counter.
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Tag_Attribute_Given
The config option "tag_attribute" is mandatory.
IF the input item contains the key given by "tag_attribute",
THEN the tool SHALL use the value(s) of that key as the requirement reference(s)
of the serialized LOBSTER item.
The value SHALL be accepted whether it is a single string or a list of strings.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Tag_Attribute_Given_Key_Missing
OTHERWISE (the input item does not contain the key given by "tag_attribute"),
THEN the tool SHALL generate the LOBSTER item without any requirement reference.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Justification_Attribute
IF the config option "justification_attribute" is given,
AND the input item contains the key given by that option,
THEN the tool SHALL use the value(s) of that key as justification(s)
for a missing requirement reference of the serialized LOBSTER item.
OTHERWISE (the option is not given, or the input item does not contain that key),
THEN the tool SHALL generate the LOBSTER item without any justification.
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Test_List_Attribute
IF the config option "test_list" is given,
THEN the tool SHALL navigate to the key path given by that option within each input file's
JSON content, and SHALL treat the value found there as the list of test items to extract,
instead of the top-level JSON content of the file.
Derived from:
Issues:
  • missing reference to Software Requirements
  • missing reference to System Tests
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
lobster/tools/json/requirements/config.trlc
TRLC System_requirement json_req.Config_Option_Mandatory
IF the command line option "--config" is not given,
THEN the tool SHALL print a usage error to STDERR
AND SHALL exit with return code 2.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Config_File_Not_Found
IF the file given through the command line option "--config" does not exist,
THEN the tool SHALL print an error message stating that the config file was not found
AND SHALL exit with a non-zero return code.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Config_File_Invalid_YAML
IF the file given through the command line option "--config" contains invalid YAML syntax,
THEN the tool SHALL terminate with a non-zero return code.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Config_File_Tag_Attribute_Missing
IF the config file does not contain the mandatory parameter "tag_attribute",
THEN the tool SHALL print an error message naming the missing parameter
AND SHALL exit with a non-zero return code.
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Config_File_Unsupported_Key
IF the config file contains a key that is not a supported configuration parameter of
the tool,
THEN the tool SHALL terminate with a non-zero return code
AND SHALL NOT produce output.
Derived from:
Issues:
  • missing reference to Software Requirements
  • missing reference to System Tests
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
lobster/tools/json/requirements/input_files.trlc
TRLC System_requirement json_req.Default_Input_Is_Current_Directory
IF neither the config option "inputs" NOR "inputs_from_file" is given,
THEN the tool SHALL use the current working directory as the sole input,
and SHALL recursively search it for files with the ".json" extension.
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Input_List_Of_Files
IF the config option "inputs" is given,
THEN the tool SHALL process exactly the files and directories listed by that option.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Input_Directory_Traversal
IF a list element given through the config option "inputs"
(or a line in the file given through the config option "inputs_from_file") is a directory,
THEN the tool SHALL recursively search that directory
AND SHALL treat every file found with the ".json" extension as an additional input file.
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Inputs_From_File
IF the config option "inputs_from_file" is given,
THEN the tool SHALL treat every non-empty, non-comment line of that file as an
additional input file or directory, applying the same rules as for elements
given through the config option "inputs".

Note: a comment is any part of a line starting with "#".
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Inputs_And_Inputs_From_File_Combined
IF both config options "inputs" AND "inputs_from_file" are given,
THEN the tool SHALL process the union of the files and directories listed by both options,
including files that are listed by both options.
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Input_File_JSON_Extension
IF a list element given through the config option "inputs" is a file,
AND the file extension is not ".json" (case-insensitive),
THEN the tool SHALL print a warning
AND SHALL nevertheless process the file as if it were a JSON file.
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
TRLC System_requirement json_req.Invalid_JSON_Content
IF an input file is empty OR its content cannot be parsed as JSON,
THEN the tool SHALL print an error message stating that the file contains invalid JSON to STDERR,
SHALL exit with a non-zero return code,
AND SHALL NOT write any output.
Derived from:
Issues:
  • missing reference to Software Requirements
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
lobster/tools/json/requirements/input_not_file_not_directory.trlc
TRLC System_requirement json_req.Input_Not_File_Not_Directory
IF a list element given through the configuration file under "inputs" is not a file nor a directory,
THEN the tool shall print an error message identifying the offending element to STDOUT,
SHALL NOT write any output file,
AND SHALL exit with a non-zero return code.
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC

Software Requirements

No items recorded at this level.

Implementation

Verification and Validation

System Tests

tests_system/lobster_json/lobsterjsontestrunner.py
PyUnit Test lobsterjsontestrunner.LobsterJsonTestRunner.run_tool_test:109
Issues:
  • missing up reference
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_config_exceptions.py
PyUnit Test test_config_exceptions.ConfigParserExceptionsLobsterJsonTest.test_missing_config_file_parameter:32
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_config_exceptions.ConfigParserExceptionsLobsterJsonTest.test_missing_config_file:42
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_config_exceptions.ConfigParserExceptionsLobsterJsonTest.test_config_file_errors:55
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_config_exceptions.ConfigParserExceptionsLobsterJsonTest.test_config_file_empty:66
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_directories.py
PyUnit Test test_directories.InputDirectoryJsonTest.test_missing_directory:31
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_directories.InputDirectoryJsonTest.test_empty_directory:46
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_directories.InputDirectoryJsonTest.test_consumes_files_in_specified_directory:64
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_directories.InputDirectoryJsonTest.test_mix_inputs_from_directory:85
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_input_not_file_not_directory.py
PyUnit Test test_input_not_file_not_directory.InputNotFileNotDirectoryTest.test_nothing_exists:48
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_input_not_file_not_directory.InputNotFileNotDirectoryTest.test_one_file_exists:58
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_inputs_and_inputs_from_file.py
PyUnit Test test_inputs_and_inputs_from_file.InputsAndInputsFromFileParameterTest.test_inputs:36
Issues:
  • unknown tracing target req UseCases.Incorrect_Number_of_JSON_Tests_in_Output
  • missing up reference
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_inputs_and_inputs_from_file.InputsAndInputsFromFileParameterTest.test_inputs_from_file:56
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_inputs_and_inputs_from_file.InputsAndInputsFromFileParameterTest.test_consume_files_from_cwd:72
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_inputs_and_inputs_from_file.InputsAndInputsFromFileParameterTest.test_consume_files_and_nested_directory_from_cwd:90
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_inputs_and_inputs_from_file.InputsAndInputsFromFileParameterTest.test_inputs_from_file_and_input:114
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_invalid_json.py
PyUnit Test test_invalid_json.InvalidJsonTest.test_empty_json_file:33
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_invalid_json.InvalidJsonTest.test_invalid_json_content:52
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_json_extension.py
PyUnit Test test_json_extension.JsonExtensionTest.test_single_non_json_extensions:31
Derived from:
Issues:
  • unknown tracing target req UseCases.Incorrect_Number_of_JSON_Tests_in_Output
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_json_extension.JsonExtensionTest.test_mixed_extensions:49
Derived from:
Issues:
  • unknown tracing target req UseCases.Incorrect_Number_of_JSON_Tests_in_Output
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_json_extension.JsonExtensionTest.test_inputs_and_inputs_from_files_with_mixed_extension:68
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_justification_attribute.py
PyUnit Test test_justification_attribute.JsonJustificationAttributeTest.test_justification_attribute_given:31
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_justification_attribute.JsonJustificationAttributeTest.test_justification_attribute_given_but_key_missing:48
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_justification_attribute.JsonJustificationAttributeTest.test_justification_attribute_not_given:66
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_multiple_files.py
PyUnit Test test_multiple_files.JsonMultipleFilesTest.test_multiple_input_files_specified_in_config:32
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_multiple_files.JsonMultipleFilesTest.test_directory_with_empty_invalid_file:63
Issues:
  • missing up reference
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_multiple_files.JsonMultipleFilesTest.test_inputs_from_file_specified_in_config:83
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_multiple_files.JsonMultipleFilesTest.test_inputs_and_inputs_from_file_With_extra_valid_files:112
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_name_attribute.py
PyUnit Test test_name_attribute.JsonExtensionTest.test_attribute_given:33
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_name_attribute.JsonExtensionTest.test_attribute_given_but_key_missing:48
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_name_attribute.JsonExtensionTest.test_name_attribute_missing_flat_input:65
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_name_attribute.JsonExtensionTest.test_name_attribute_missing_nested_input:79
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_tag_attribute.py
PyUnit Test test_tag_attribute.JsonTagAttributeTest.test_tag_attribute_given:29
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_tag_attribute.JsonTagAttributeTest.test_tag_attribute_given_but_key_missing:45
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
PyUnit Test test_tag_attribute.JsonTagAttributeTest.test_tag_attribute_missing:61
Derived from:
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC
tests_system/lobster_json/test_valid_input.py
PyUnit Test test_valid_input.ValidInputTest.test_input_with_specific_schema:31
Issues:
  • unknown tracing target req UseCases.Incorrect_number_of_requirement_refs_in_JSON_Output
  • missing up reference
Build Reference: main | Timestamp: 2026-10-19 07:48:19+00:00 UTC

Software Tests

No items recorded at this level.

LOBSTER Version: 1.1.0-dev