Our device transmits the patient’s heart rate and any alarms to a designated patient monitor via Ethernet. In the following, we show how our tools helped us to ensure the quality and reliability of the device, enabling us to identify and address potential issues early in the development cycle:
1. Static Code Analysis With PC-lint Plus
Like a compiler, PC-lint Plus parses the ECG device’s source code, performs semantic analysis, and builds an abstract syntax tree to
- Identify a wide range of defects and vulnerabilities
- Perform in-depth analysis to uncover potential bugs and suspicious code, reducing the risk of future issues
- Quickly pinpoint the root cause and provide actionable fixes
- Support for standards such as MISRA, AUTOSAR, and CERT C
- Certified for ISO 26262 and IEC 61508 critical safety standards
2. Unit and Integration Testing With VectorCAST
During the software development phase, VectorCAST ensures the quality and reliability of our code. It is available with a Medical Device Software Compliance Kit for FDA and IEC 62304, that includes all necessary documentation for validating embedded software components used on all classes of medical devices.
- Automated generation of test harness and stubs
- Regression and Robustness Testing
- Code coverage (all levels required by IEC 62304)
- Test execution on host, simulator, and target systems
3. Environment Simulation With CANoe
Once we confirmed that our code is functioning as expected, we proceeded to test the device’s interaction with its environment. The ECG device’s environment comprises two main parts: the ECG signal input from the ECG pads and the patient monitor that receives heart rate and alarm data from the ECG.
Fortunately, we can simulate both using CANoe. We generate different kinds of ECG signals, from bradycardia to tachycardia, and simulate the patient monitor to verify that the ECG device correctly transmitted the data.
4. Software-in-the-Loop (SIL) Tests With CANoe
Having the environment simulated in CANoe, we are able to conduct virtual system-level tests during the software development phase. Additionally, we leverage the automated generation of a SIL Adapter to seamlessly connect our ECG Software with CANoe using the Vector SIL Kit. This allows us to fully utilize CANoe’s features, including:
- Early virtual “black-box” SIL tests independent of hardware availability
- Simulation of physical and software environments
- Interactive development and testing in an exploratory way
- Automated testing with the test design tool vTESTstudio
- Seamless integration in CI/CT environments
5. Hardware-in-the-Loop (HIL) Tests with CANoe
By disabling vulnerabilities at the outset with static code analysis, ensuring code units behave as intended with unit tests, and conducting thorough software system-level tests, we can finally observe how all the pieces fit together during the HIL testing stage.
We can easily repurpose the simulated ECG signal and patient monitor, but now utilize Vector’s VT System and VH 4110 interface, or “IoT Enabler”, to transmit actual ECG data.