FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Queue/QueueGenericSend
Mark Tuttle 0390b0fc9b
Add CBMC viewer configuration files (#683)
* Revert cbmc-viewer flags

* Add cbmc-viewer configuration files

* Repair CBMC patch to prvCopyDataToQueue

Authored-by: Mark R. Tuttle <mrtuttle@amazon.com>
2021-09-13 21:23:35 -04:00
..
cbmc-viewer.json Add CBMC viewer configuration files (#683) 2021-09-13 21:23:35 -04:00
Configurations.json Remove or rework assumptions in queue proofs (#603) 2021-06-04 15:42:14 -04:00
QueueGenericSend_harness.c Add uncrustify github workflow (#659) 2021-07-22 14:23:48 -07:00
README.md Copying CBMC proofs from aws/amazon-freertos repo ./tools/cbmc to this repo ./FreeRTOS/Test/CBMC as is. 2020-03-31 14:21:53 -07:00

The harness in this folder proves the memory safety of QueueGenericSend with and without QueueSets. It is abstracting away the task pool and concurrency related functions and assumes the parameters to be initialized to valid data structures. Further, prvCopyDataToQueue, prvUnlockQueue and prvNotifyQueueSetContainer are abstracted away.

This proof is a work-in-progress. Proof assumptions are described in the harness. The proof also assumes the following functions are memory safe and have no side effects relevant to the memory safety of this function:

  • vPortEnterCritical
  • vPortExitCritical
  • vPortGenerateSimulatedInterrupt
  • vTaskInternalSetTimeOutState
  • vTaskMissedYield
  • vTaskPlaceOnEventList
  • vTaskSuspendAll
  • xTaskRemoveFromEventList
  • xTaskResumeAll