FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Task/TaskDelay
alfred gedeon ae92d8c6ee
Add uncrustify github workflow (#659)
* Add uncrustify github workflow

* Fix exclusion pattern

* fix find expression

* exclude uncrustify files

* Uncrustify common demo and test files

* exlude white space checking files

* Fix EOL whitespace checker

* Remove whitespaces from EOL

* Fix space at EOL

* Fix find spaces at EOL

Co-authored-by: Archit Aggarwal <architag@amazon.com>
2021-07-22 14:23:48 -07:00
..
Configurations.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
TaskDelay_harness.c Add uncrustify github workflow (#659) 2021-07-22 14:23:48 -07:00
tasks_test_access_functions.h Add uncrustify github workflow (#659) 2021-07-22 14:23:48 -07:00

This proof demonstrates the memory safety of the TaskDelay function. We assume that pxCurrentTCB is initialized and inserted in one of the ready tasks lists (with and without another task in the same list). We abstract function xTaskResumeAll by assuming that xPendingReadyList is empty and xPendedTicks is 0. Finally, we assume nondeterministic values for global variables xTickCount and xNextTaskUnblockTime, and pdFALSE for uxSchedulerSuspended (to avoid assertion failure).

Configurations available:

  • default: The default configuration.
  • useTickHook1: The default configuration with INCLUDE_vTaskSuspend=0

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