FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Task/TaskCreate
Soren Ptak 3a2f6646f0
Use CI-CD-Github-Actions for spelling and formatting, add in the bot formatting action, update the CI-CD workflow files. Fix incorrect spelling and formatting on files. (#1083)
* Use new version of CI-CD Actions,  checkout@v3 instead of checkout@v2 on all jobs
* Use cSpell spell check, and use ubuntu-20.04 for formatting check
* Add in bot formatting action
* Update freertos_demo.yml and freertos_plus_demo.yml files to increase github log readability
* Add in a Qemu demo onto the workflows.
2023-09-06 12:35:37 -07:00
..
cbmc-viewer.json Add CBMC viewer configuration files (#683) 2021-09-13 21:23:35 -04:00
Makefile.json Use CI-CD-Github-Actions for spelling and formatting, add in the bot formatting action, update the CI-CD workflow files. Fix incorrect spelling and formatting on files. (#1083) 2023-09-06 12:35:37 -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 Use CI-CD-Github-Actions for spelling and formatting, add in the bot formatting action, update the CI-CD workflow files. Fix incorrect spelling and formatting on files. (#1083) 2023-09-06 12:35:37 -07:00
tasks_test_access_functions.h Use CI-CD-Github-Actions for spelling and formatting, add in the bot formatting action, update the CI-CD workflow files. Fix incorrect spelling and formatting on files. (#1083) 2023-09-06 12:35:37 -07: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