Functional Safety Tools


  • Simple and efficient user interface

    Tabulated management makes the results and coverage clear.Use case management and coverage analysis are located in the same view so that their use cases and code coverage and control flowchart structure coverage can be seen in full view.

  • Monitor and analyze runtime errors

    By analyzing program semantics, it automatically detects runtime errors during execution and kills potential bugs in the unit test phase.

  • Generalized test reports

    Support beautiful Word version test report download, on the basis of meeting users' general requirements for test report, support users to modify the test report.

  • Faster and more stable use case generation and execution

    The use case generation time and execution time of the unit under test are generally in the millimeter level. The average project one-click test (consisting of parsing the source code, generating the use case, and executing the use case) takes about 7 sec

  • Two types of scanning

    Source code scan - targeted at developers;Binary file scan - Targeted at security personnel or developers

  • Powerful vulnerability database

    It processes up to 16 terabytes of data using cutting-edge machine learning technology and is manually reviewed by dozens of cybersecurity experts.

Value advantage

  • Dual support for binary file and source code scanning

    The only tool on the market that can scan binary files and source code simultaneously. Not only will you be able to continuously monitor the security quality of your code as it is written, but you will also be able to do a final security review of the software after the source code has been compiled into binaries.

  • More comprehensive format support

    Eighty percent of the available SCA source code scanning tools cannot scan code written in C/C++ due to features of the C/C++ language. In terms of binaries, 90% of SCA binary-scanning tools do not support the APK format. For the above special cases, the SmartRocket Scanner is fully supported.

  • Bug fix advice

    It can not only scan out code vulnerabilities for users, but also provide code repair Suggestions for users, so that users can more closely connect the process from finding problems to solving problems, so as to better improve the efficiency of problem solving.

  • Huge vulnerability database

    Through years of scientific research experience and data accumulation, it can provide users with more accurate and comprehensive scanning results. In addition, through long-term tracking of well-known open source components, we also have unpublished and exclusive vulnerability information to help SmartRocket Scanner find the most comprehensive possible vulnerabilities.

  • Supports statement, branch, MC/DC override criteria

    SmartRocket Unit can generate test cases for coverage criteria, support statement, branch, MC/DC and boundary coverage criteria, automatically execute generated test cases and provide filters, and can meet the stringent testing requirements of industry standards such as D0-178B, ISO26262 and EN50128.

    Tools that use random generation or data dictionary generation of test cases do not contain coverage criteria, use cases are generated by random combination, and cannot support the directional generation of MC/DC and boundary use cases.

  • Generate a compact set of test cases

    The SmartRocket Unit generates a simplified set of use cases for different criteria, so that there is no redundancy between use cases. Other use case generation tools have no overridden criteria, and there is often a lot of redundancy in generating use cases by random generation or data dictionary. When testing a control software code in space, the SmartRocket Unit generates just a dozen use cases to achieve 100% coverage of statements, branches, and MC/DC functions, while the other software tools used give hundreds of test cases, resulting in a large number of redundant use cases.

  • Shape parameter, global variable, pile function and pile function parameter data are designed comprehensively

    SmartRocket Unit can fully design parameters, global variables, pile functions and pile function parameters, etc., and automatically design the return value of pile and output value of parameters. However, random generation or data dictionary generation test case tools usually only support data design of formal parameters and global variables, resulting in the failure to achieve high coverage.

  • Support system function calls

    In the code under test, we sometimes want to preserve system functions, especially memory functions such as memcpy and memSET, which may affect coverage. The SmartRocket Unit is able to automatically capture the memory change constraints of such functions to generate the correct test cases, which are not properly recognized by tools that randomly generate or data dictionary generate test cases. Neither of the tools based on the first two generation strategies can properly override the return 0 branch, whereas the SmartRocket Unit provides a switch for whether the system function piles or not. When we turn on the system function no-pile switch, the SmartRocket Unit is able to correctly generate 2 use cases to achieve 100% coverage.

  • Use cases are automatically executed to meet the expected value check specification

    The SmartRocket Unit generates a use case and automatically executes it, capturing output check information such as the expected value of the use case and automatically comparing it. This check item meets the requirements of functional security authentication, checking function return value, checking global variable modified value, checking parameter pointer pointing to content modified value and so on. Other tools do not have this check item or the check item is weak (for example, only check the return value of function, etc.), and a lot of manpower is needed to supplement this part of data later, which leads to the decrease of efficiency.

  • Perfect automatic vulnerability discovery system

    With the rapid development of information technology, the functions and scale of software are increasing day by day, and the traditional testing and defect analysis methods relying on human hands cannot meet the needs of the future. How to ensure the reliability and security of software has become an increasingly serious challenge.

    Fuzziness tests automatically generate test cases to discover potential defects in a program by attempting to approximate all execution paths of the program. Fuzz testing can also be integrated into the original CI/CD/DevOps development process as a continuous deployment process, and become a complete set of automated vulnerability discovery system to help customers find bugs and vulnerabilities efficiently, quickly and easily.


  • High efficiency and safety

    Adopting advanced virtual execution technology, the scanning coverage rate is high and the false alarm rate is low. Clear and easy to read vulnerability analysis report, rich statistics, reports, graphical display interface, flexible deployment and scanning methods.

  • Customization capability

    Based on the self-developed code scanning engine, the code scanning engine can be customized according to the business and technical characteristics of users to further improve the coverage and accuracy of code scanning.


  • High coverage unit testing

    During unit testing, there is no need to allocate dedicated testers separately. Developers can perform unit testing with just one click after coding is completed. Support automatic generation of high coverage and low redundancy structural coverage use cases based on code, meeting statement coverage, branch coverage, and MC/DC coverage, typically with coverage rates of over 80% to 90%.

  • Integrated testing platform

    Static analysis, unit testing, and integration testing can be completed easily through a single tool, fully automating the entire testing process, which developers and testers can use together.

  • Simple user experience

    The tool has a simple interface and easy operation, which users can quickly learn with a low learning cost and excellent user experience. The tool uses the B/S architecture, which can be used across platforms, has low requirements for client computer configurations, and is more convenient and flexible to use.

  • Seamless integration on multiple platforms

    The tool supports Windows, Linux, and Kylin systems and can easily integrate with most network-based software development management platforms or DevOps tools. It also supports integration into the task system of Jenkins continuous integration and other third-party software development management platforms.

  • Rich and Extensive Component Library

    Rich and extensible component libraries make it easy to design models for various systems, enabling a wide range of applications.

  • Efficient and Easy-to-Use Modeling Environment

    An intuitive graphical interface enables efficient and easy-to-use model design, increasing productivity while ensuring model correctness.

  • Comprehensive Static Checking

    Predefined design rules ensure model consistency and correctness, detecting early-stage model errors and improving software quality.

  • Dynamic Simulation and Verification

    One-click simulation and debugging, as well as multi-dimensional visualization of simulation data and verification result counterexamples, enable efficient model verification.

  • Effective C Code Generation

    Automatic generation of C code that meets the Chinese military standard 8114 saves time and reduces coding errors.

  • Domestic Environment Support

    Support for typical domestic operating systems and processor platforms ensures that the tool is accessible to a broad range of users and suitable for a variety of applications.

Typical applications

  • Lunar exploration project phase III

  • Shanghai Metro signal

  • On-board ECU system

  • Aeronautics and astronautics

  • Rail traffic

  • Automotive electronics

  • Aeronautics and astronautics

  • rail traffic

  • Automotive electronics

  • Lunar Exploration Project III

  • Shanghai Metro Signals

  • Vehicle ECU system

  • Aerospace & Aviation

  • Automative Electronics

  • Rail Transportation

  • Aeronautics and astronautics

    Satellite control software is the core of satellite control system, with complex functions, high unit test coverage requirement, high cost of manual test case writing and error prone. Using SmartRocket Unit can automatically generate Unit test cases that meet statement coverage, branch coverage and MC/DC coverage, and perform test execution automatically, which can improve software testing efficiency and software product quality. Out of 150,000 lines of code tested in a space unit, the SmartRocket Unit achieved average statement coverage of more than 90%.

  • Subway signal

    Subway signal system is the control center of subway system. In the test of subway signal system, corresponding unit tests should be carried out according to different SIL levels. In traditional testing, test case writing relies on human resources, and software code testing with strict requirements for MC/DC coverage is bound to consume a lot of human resources and time.

    Using the SmartRocket Unit tool can solve this problem, greatly reducing labor and time costs. Out of 200,000 lines of code tested for a subway signal Unit, the SmartRocket Unit achieved an average of over 85% statement coverage, with significant use case generation.

  • Automotive electronics

    The automotive electronics industry complies with ISO26262 standard, and for projects that need to achieve ASIL-D safety levels, it also requires considerable labor and time to write use cases. The use cases generated by the SmartRocket Unit can be seamlessly applied to the automotive electronics industry, helping testers quickly meet statement/branch, MC/DC code coverage requirements. The SmartRocket Unit achieved average statement coverage of more than 85% in a car electronics Unit test of 100,000 lines of code.