Main Content

Code Profiling Using Self-Managed Builds

R2026b
Calculate code coverage, execution time, or memory use of your C/C++ source files and xUnit tests

If you author C/C++ tests using the Polyspace Test xUnit API, you can profile your source files and tests to calculate code coverage, code execution time, or memory use. Instrument your source code at compile time, then run the tests with polyspace-test -monitor to collect profiling results:

polyspace-code-profiler -instrument -instrum-dir instrums -cov-metric-level decision -- gcc -c src.c 
gcc -c test.c <PSTEST_SOURCE> <PSTEST_INCLUDE> # <PSTEST_SOURCE> is pstest.c
gcc src.o test.o pstest.o <PSTEST_LIB> -o testrunner
polyspace-code-profiler -run -instrum-dir instrums -results-dir results -- ./testrunner
For information on the file paths <PSTEST_SOURCE>, <PSTEST_INCLUDE> and <PSTEST_LIB>, see Set Up C/C++ Testing and Code Profiling Using Self-Managed Builds.

System Commands

polyspace-code-profiler(System Command) Profile your source code for calculating C/C++ code coverage, code execution time, and memory use
polyspace-test -monitor(System Command) Monitor execution of C/C++ xUnit tests and retrieve test and code profiling results
polyspace-test -dccc(System Command) Generate Data Coupling and Control Coupling (DCCC) coverage data from static and dynamic results (requires Polyspace Code Prover)

CMake Functions

pstest_add_profiling_runtime(CMake) Create target for compiling a custom run-time library for code profiling
pstest_instrument_target(CMake) Instrument a target for profiling
pstest_add_convert_target(CMake) Create target for converting test or code profiling results to standard Polyspace Test format
pstest_add_report_target(CMake) Generate XML and HTML reports from test or code profiling results

MATLAB Functions

pstest.exportToPolyspaceProfilingResults(MATLAB Function) Export coverage results from Simulink Coverage, Simulink Test, or MATLAB Test to Polyspace Test

Topics

Troubleshooting

Troubleshoot Code Profiling for Polyspace Test xUnit API-Based Tests

Troubleshoot calculating code coverage, execution profiling, and stack memory profiling of xUnit based tests.