A tool for object code testing based on simulation technology. By running the user's executable program on the virtual target system, the execution results are generated, the code coverage is calculated, and the information such as statement coverage, branch coverage and function coverage is displayed (the coverage report is exported in the form of HTML and Excel). It supports the related requirements of level A software object code test coverage in DO-178B, and supports the object code coverage test of various embedded software platforms, such as ARM, PowerPC, DSP, MIPS, SPARC, etc.
Simulation Based on Fuzzing Scheme
▲Fuzz testing based on simulation
The scheme is a fuzzing method based on simulation. Based on the simulation technology, the software under test can run on SkyEye without modification. Combined with the commonly used Fuzz tool, users can find and analyze the security vulnerabilities on the hardware driver through the hardware fault injection function, and also use the fuzz technology to find and analyze the security vulnerabilities on the software layer. SkyEye simulation platform can be integrated with mainstream fuzzing front-end tools.
Taking AFL as an example, SkyEye can run the initial test case of AFL, and AFL generates a data set of random sample test cases based on the coverage test results of the previous test case for injection, so as to mine software security vulnerabilities and generate security test reports. Compared with the software security testing and analysis on real hardware, the advantages of this scheme are that the target machine program has strong observability, and the implementation of coverage statistics is simpler and more credible. It is not limited by the number of hardware, and can deploy and build unlimited number of virtual controllers in the cloud to realize the parallel running of large-scale test cases.