FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Task/TaskCreate
2022-12-01 00:34:31 +00:00
..
cbmc-viewer.json Add CBMC viewer configuration files (#683) 2021-09-13 21:23:35 -04: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
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
TaskCreate_harness.c [AUTO][RELEASE]: Bump file header version to "202211.00" 2022-12-01 00:34:31 +00:00
tasks_test_access_functions.h Apply release changes to main branch (#759) 2021-12-23 10:16:27 -08:00

This proof demonstrates the memory safety of the TaskCreate function. We initialize task lists, but we set other data structures to unconstrained (arbitrary) values, including the data structures pxCurrentTCB, uxCurrentNumberOfTasks, pcName and pxCreateTask. STACK_DEPTH is set to a fixed number (10) since it is not possible to specify a range.

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:

  • prvTraceGetObjectHandle
  • prvTraceGetTaskNumber
  • prvTraceSetObjectName
  • prvTraceSetPriorityProperty
  • prvTraceStoreKernelCall
  • prvTraceStoreTaskReady
  • pxPortInitialiseStack
  • vPortEnterCritical
  • vPortExitCritical
  • vPortGenerateSimulatedInterrupt