FreeRTOS-Kernel/FreeRTOS/Test
Paul Bartell 19271ddc8d Work around gcov json output bug
When gcov outputs into it's intermediate json format, sometimes it marks blocks as unexecuted but also sets an execution count != 0. In this case, the "count" field is correct, but the "unexecuted_block" field is incorrect.

When outputting lcov formatted coverage data in filtercov.py, only output a branch coverage data lines (BRDA) with a "-" for the "taken" field when both count==0 and unexecuted_block==true in the input gcov json intermediate file.
2021-03-31 13:28:45 -07:00
..
CBMC Add Litani to run CBMC proofs (#501) 2021-02-12 10:21:07 -08:00
CMock Work around gcov json output bug 2021-03-31 13:28:45 -07:00
litani@3fc5e02bc1 Add Litani to run CBMC proofs (#501) 2021-02-12 10:21:07 -08:00
VeriFast Minor VeriFast proof changes to match V10.4.3 (#519) 2021-02-25 14:00:22 -07:00
README.md Add VeriFast kernel queue proofs (#117) 2020-07-02 12:55:20 -07:00

Testing in FreeRTOS

FreeRTOS kernel consists of common code and porting layer. Extensive static analysis and dynamic analysis are done on both to ensure functional correctness of FreeRTOS kernel.

For more information on FreeRTOS testing please refer to https://www.freertos.org/FreeRTOS-Coding-Standard-and-Style-Guide.html.

Directory structure

This directory is in working progress -- we are migrating scattered test cases to this directory. Here only lists what's currently under this directory.

  • ./CBMC: This directory contains automated proofs of the memory safety of various parts of the FreeRTOS code base.
  • ./VeriFast: This directory contains automated proofs of the functional correctness of various parts of the FreeRTOS code base.