Tool Version
Tool Name: Understand
Tool Version and ID: Version 7.2.1248
Platform | Installation Package | Version | Checksum (MD5 - File Integrity) |
Windows (10, 11) | Understand-7.2.1248-Windows-64bit.exe | 7.2, build 1248 | 75becd904fec01bfcd19e27e60d6e733 |
Linux (64-bit) | Understand-7.2.1248-Linux-64bit.tgz | 7.2, build 1248 | 9bad09bab734c2e78e843e397fed6851 |
Change Summary
Understand v7.2.1248 includes updates from the previously certified version v6.3.1136.
The changes primarily consist of feature enhancements, bug fixes, and improvements to
existing functionality, including:
- CodeCheck execution and reporting improvements
- Architecture Designer stability and error handling enhancements
- Graphs and Metrics visualization updates
- General stability and performance improvements
These changes have been assessed in the Safety Impact Analysis, and their impact on
tool qualification has been evaluated through regression testing and verification activities.
Detailed information on changes between versions is available in the
Understand Build Notes, which document feature enhancements,
bug fixes, and updates for each release.
Available online here: https://support.scitools.com/support/solutions/folders/70000470871
Tool Description
Understand is a static code analysis tool that assists with editing, refactoring, and analyzing code. This tool can be used to assist with the development of safety critical automotive systems as defined in ISO 26262:2018.
Tool Certification
This tool has been certified according to ISO 26262, IEC 61508, and EN 50128 for the version identified in this Safety Manual. A list of certified use cases can be found in section 6. Understand is certified for safe use with the following languages:
C
C++
Understand is certified for safe use with the following Operating Systems:
Windows x64 (Windows 10.1809 and later),
Linux 64bit (CentOS and RHEL 8.6 (4.18.0-372.26.1 or newer), Ubuntu 22.04, and later)
Mac OS (Monterey 12 and later) Intel and Apple Silicon are both supported
NOTE: Update your OS to the latest version for the safest experience
Standards Applicability:
The tool qualification activities documented in this Safety Manual are performed in accordance with ISO 26262-8. These activities and the associated qualification evidence are also considered sufficient to satisfy the applicable software tool qualification requirements of IEC 61508 for the intended use. No additional IEC 61508-specific tool qualification activities are required.
Other applicable User Documentation
The Understand User Guide can be found within the Understand Software by selecting Help > Help Content from the main Toolbar.
Additional user resources including videos, build notes, known issues, and the installation guide can be found at support.scitools.com.
For use in a safety context make sure to follow the section of the Help Content titled “Configure your Project”. Proper project configuration is essential for accurate analysis.
Tool usage and flow in typical design environments
6.1 Operating Configuration
A valid license must first be obtained before importing source code into Understand. Please contact sales@scitools.com for more information.
Refer to the “Configuring Your Project” section of our help guide to see detailed setup instructions for the programming language you plan on analyzing. The help guide can be found within Understand or accessed on our support site here.
Your local development environment needs to be configured appropriately before running Understand. An improper setup will result in inaccurate information. The Analysis Log will display errors or warnings when importing your code base in the case of misconfiguration. Resolve all errors or warnings to receive the most accurate information about your code.
6.1.1 Optional Understands Settings
Tools > Options > Analyze > Automatically analyze changed files on save
By default Understand will only analyze a file when the command is given. Turn this option on to have an analysis run automatically every time a file is changed and saved.
Analysis, metrics, and graphs will not reflect user updates until a new analysis has been performed. An analysis can be run manually at any time by going to Project > Analyze Changed Files.
CodeCheck will ask the user to perform an analysis when changes are detected.
6.2 Operating Constraints
The machine that is running the Understand application should have 1Gb RAM for every 1 million lines of source code that is being statically analyzed. The source code can be on a network, however the database that the Understand application generates, should be on the local machine for optimal performance. This database is generated when a project is created in Understand and an analysis has been run.
The general licensing of Understand does require an internet connection. The Understand app communicates with our license server (licensing.scitools.com) on a regular basis. This information is secured using SSL and this information is not shared and is only used for licensing purposes. In some cases, networks/firewalls may need to be configured to allow access on TCP port 443 using secure HTTPS. Firewalls with application level security may need to enable HTTPS permission for the Understand, und, and uPython executables installed in SciTools/bin/directory.
For licensing that requires zero internet connection, there is a closed lab proprietary license server that can be used, Icarus, which requires setup by a user with admin privileges and defaults to ports 80 and 443. Icarus only supports 64 bit operating systems. A guide for setting up an offline server license can be found here.
6.3 Operating Environment
Disk Space: At least 2GB free
CPU: Any modern CPU
RAM: 1GB of Ram Per Million lines of source code
Operating System: Understand will run on:
-Windows x64 (Windows 10.1809 and later),
-Linux 64bit (CentOS and RHEL 8.6 (4.18.0-372.26.1 or newer), Ubuntu 22.04, and later)
-Mac OS (Monterey 12 and later) Intel and Apple Silicon are both supported
Use Cases
Tool Classification (summary)
The following use cases are classified as TI2, meaning they could potentially impact executable code. Refer to the table below for possible malfunctions and mitigations.
Tool Confidence Level (TCL) Determination:
The failure modes listed above represent the qualification-relevant use cases. The Architecture Designer failure mode (“Create Custom Architecture – failure to save changes”) results in TI2 with TD2, and therefore determines the maximum applicable Tool Confidence Level (TCL 2) for the intended use. The complete failure mode analysis and justification of TI/TD/TCL assignments is documented in the tool qualification FMEA.
Verification and Traceability
The mitigations described in this section are verified through documented regression and verification activities for the certified tool version. Each mitigation is traceable to specific test cases and executed test results as documented in the tool qualification FMEA, which links the defined detection measures to the corresponding verification activities and evidence for the certified build.
ASIL Applicability:
Under the assumptions and constraints described in this Safety Manual, the qualified use of Understand is applicable for safety-related development activities up to ASIL D in accordance with ISO 26262-8.
Qualification Work Products
The tool qualification is supported by a defined set of qualification work products, including:
- Impact Analysis – Understand Impact Analysis v1.3
- Safety Manual – Safety Manual 1248
- BVT – Understand BVT 7.2 (1248_03_27)
- Test Cases – Understand Test Cases v2
- FMEA – FMEA_7.2.1248
These work products together provide the complete justification of the tool qualification in accordance with ISO 26262-8 and are maintained as part of the certification package.
Conditions and Assumptions of Use for ISO 26262 compliance
9.1 Assumptions and Limitations of Use
Error Detection: Most Issues will be reported to the user via the “Analysis Log”. An analysis will be run automatically after importing code. You can also run an analysis manually with “Ctrl + Alt + R”.
Crash Detection and Handling: When an exception is encountered that cannot be resolved Understand will close the application and present the user with a crash notification. All currently running operations are canceled and the data is reverted to the last successful save. Make sure to check your data in the case it has been reverted to a previous version.
CodeCheck: Issues with the CodeCheck Scripts are reported within the CodeCheck window under “Script Errors”. If any script errors are detected the CodeCheck results may be invalid.
Sudden Interruptions: Anything that disrupts an operation in Understand will cause that operation to be aborted. You will need to restart the task. This includes power failures, operating system failures, Understand critical failure “crash”, etc.
User Suggestions (pop-ups): Understand will detect when a possibility of incorrect data arises. For example, if an analysis is requested, Understand will detect unsaved changes and suggest the user saves before running the analysis. It is recommended that all popups and notifications are read before proceeding with an action.
9.2 Safety Related Requirements for Use
To ensure the safe use of the tool within a safety-critical development process, the following requirements shall be observed by the user:
SR-01: The tool shall be used only for the intended use described in this Safety Manual.
SR-02: Tool-reported errors, warnings, or abnormal terminations shall be treated as failures and investigated before relying on the results.
SR-03: Generated outputs (e.g., architecture artifacts, analysis results, reports) shall be reviewed for plausibility and completeness before being used as safety-relevant inputs.
SR-04: Verification or regression activities defined by the user’s development process shall be successfully completed for the tool version in use.
SR-05: The user shall ensure that any tool configuration or automation scripts used are appropriate for the intended use and environment.
