FreeRTOS-Kernel/FreeRTOS/Test/CBMC/proofs/Queue/QueuePeek
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
..
Makefile.json Remove or rework assumptions in queue proofs (#603) 2021-06-04 15:42:14 -04:00
QueuePeek_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

Assuming xQueue and pvItemToQueue are non-null pointers allocated to the right size, this harness proves the memory safety of QueueGenericPeek. Some of the task pool behavior is abstracted away. Nevertheless, some of the concurrent behavior has been modeled to allow full coverage of QueuePeek.

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
  • vTaskMissedYield
  • vTaskPlaceOnEventList
  • vTaskSuspendAll
  • xTaskRemoveFromEventList
  • xTaskResumeAll