FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Queue/QueueSemaphoreTake
Yuhui Zheng 8156f64d1c Copying CBMC proofs from aws/amazon-freertos repo ./tools/cbmc to this repo ./FreeRTOS/Test/CBMC as is.
The commit ID in aws/amazon-freertos is 0c8e0217f2a43bdeb364b58ae01c6c259e03ef1b.
2020-03-31 14:21:53 -07:00
..
Makefile.json 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
QueueSemaphoreTake_harness.c 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
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

Assuming the bound specified in the harness and abstracting the task pool and concurrency functions, this harness proves the memory safety of QueueSemaphoreTake. Some of the task pool functions are used to model concurrent behavior required to trigger all branches during the model creation.

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:

  • pvTaskIncrementMutexHeldCount
  • vPortEnterCritical
  • vPortExitCritical
  • vPortGenerateSimulatedInterrupt
  • vTaskMissedYield
  • vTaskPlaceOnEventList
  • vTaskPriorityDisinheritAfterTimeout
  • vTaskSuspendAll
  • xTaskPriorityDisinherit
  • xTaskPriorityInherit
  • xTaskRemoveFromEventList
  • xTaskResumeAll