Commit graph

3233 commits

Author SHA1 Message Date
Tobias Reinhard
d49f7e369c Renamed startup scripts. 2022-12-13 08:54:57 -05:00
Tobias Reinhard
7ec3eabb71 Added script to start the verifast command line tool. 2022-12-13 08:54:06 -05:00
Tobias Reinhard
2395267e6a Renamed vfide startup script. 2022-12-13 08:48:41 -05:00
Tobias Reinhard
5e72a83144 Deleted deprecated code. 2022-12-13 08:40:20 -05:00
Tobias Reinhard
1a3870c71d Deleted deprecated script 2022-12-13 08:35:40 -05:00
Tobias Reinhard
b0bfa1204d Made preprocessing scripts more modular. 2022-12-13 08:34:31 -05:00
Tobias Reinhard
01e50bec0a Documented scripts. 2022-12-12 10:54:15 -05:00
Tobias Reinhard
5fcf51f090 Deleted deprecated files. 2022-12-12 10:21:29 -05:00
Tobias Reinhard
574cc7e42e Deleted generated diff report 2022-12-12 10:05:45 -05:00
Tobias Reinhard
0e018c4ffa Merge branch 'verifast_switch_context' of https://github.com/Tobias-internship-AWS-2022/FreeRTOS-Kernel into verifast_switch_context 2022-12-12 10:04:51 -05:00
Tobias Reinhard
dd85fd6a67 Ignore generated states. 2022-12-12 10:04:32 -05:00
Tobias Reinhard
92283262cf Diff report is now written to file. 2022-12-12 10:03:32 -05:00
Tobias Reinhard
c50e8bd5b3 Diff report is now written to file. 2022-12-12 10:01:53 -05:00
Tobias Reinhard
114fd0fcf0 Added some print outs. 2022-12-12 09:39:54 -05:00
Tobias Reinhard
8a01a7682f Deactivated assertion during the computation of the diff between the verified code and the production code. 2022-12-12 09:22:00 -05:00
Tobias Reinhard
2ae20ff48d Stored pp script args in diff script in variables to improve readability. 2022-12-12 08:26:42 -05:00
Tobias Reinhard
f56d20b543 Removed comments and pragmas from diffed preprocessor output. 2022-12-10 18:45:12 -05:00
Tobias Reinhard
43f9afe277 Setup first draft of diff script. Need to fine tune preprocessor flags. 2022-12-10 18:42:14 -05:00
Tobias Reinhard
53293fe57a Renamed pp shell script. 2022-12-10 18:07:47 -05:00
Tobias Reinhard
d1a333b186 Deleted deprecated variables. 2022-12-10 18:03:34 -05:00
Tobias Reinhard
6ca1377285 Moved computation of preprocessor flags to separate shell script. 2022-12-10 18:01:44 -05:00
Tobias Reinhard
d989b3441d Typo 2022-12-10 17:41:37 -05:00
Tobias Reinhard
c11a401b1b Startup and preprocessing scripts don't rely on the current working directory anymore. 2022-12-10 17:36:49 -05:00
Tobias Reinhard
d945764528 Grouped preprocessor flags to make preprocessing command easier to read. 2022-12-09 15:43:14 -05:00
Tobias Reinhard
deee4a4141 Sorted include paths to make them easier readable. 2022-12-09 15:18:52 -05:00
Tobias Reinhard
4f71cead4a Moved preprocessing step to separate shell script. 2022-12-09 15:13:47 -05:00
Tobias Reinhard
60f1530d17 Deleted deprecated files. 2022-12-09 14:52:35 -05:00
Tobias Reinhard
21992b6c34 Startup script expects paths to relevant directories as arguments instead of computing them itself. 2022-12-09 14:51:00 -05:00
Tobias Reinhard
1d3fcdfc1f Reverted modified source and header files to last commit before we started the VeriFast proofs.
Files reset to commit 13f034eb74
2022-12-09 10:37:50 -05:00
Tobias Reinhard
dcbaf3863b Preprocessing script prefers modified files in proof subdirectory over files in main source and header dir. 2022-12-09 10:35:20 -05:00
Tobias Reinhard
cc7ed1e3eb Copied modified source and header files to proof subdirectory. 2022-12-09 10:34:19 -05:00
Tobias Reinhard
2e78ed5884 Renamed VeriFast proof direcotry to comply with structure of main FreeRTOS repository. 2022-12-09 09:47:27 -05:00
Tobias Reinhard
eef76ea839 Simplified invariants. 2022-12-08 08:49:59 -05:00
Tobias Reinhard
99d46f9e51 Guarded unsafe decrements of uxTopReadyPriority and uxCurrentPriority 2022-12-08 08:45:17 -05:00
Tobias Reinhard
136b1d69b2 Updated ready list invariant from requiring exactly 1 idle task to configNUM_CORES idle tasks. 2022-12-07 07:34:46 -05:00
Tobias Reinhard
9a81e7b860 Reordered verifast args in startup script to not only support the IDE but also the command line tool. 2022-12-06 13:00:05 -05:00
Tobias Reinhard
f98779f0cb Finished proof branch dealing with ready list reordering. Strict positivity of uxCurrentPriority remains to be proven. 2022-12-06 10:16:22 -05:00
Tobias Reinhard
e68b45969b Refined precondition of reordering lemma. 2022-12-06 09:54:03 -05:00
Tobias Reinhard
7fe2ec22f2 Strengthened postcondition of reordering lemma. 2022-12-06 09:24:08 -05:00
Tobias Reinhard
d028b1d04a Added lemma to reason about reordering of ready lists. 2022-12-06 09:17:17 -05:00
Tobias Reinhard
4ac0f5e4ce Added lemma to close reordered ready lists. 2022-12-05 15:52:01 -05:00
Tobias Reinhard
ee2922ad80 Finished some proof branches in prvSelectHighestPriorityTask. 2022-12-05 14:46:11 -05:00
Tobias Reinhard
346a7f778a Added lemma to close ready lists predicate. 2022-12-05 14:40:01 -05:00
Tobias Reinhard
e71756e4cb Proved that decrementing uxTopReadyPriority does not lead to underflow. 2022-12-04 13:46:32 -05:00
Tobias Reinhard
00bb9d4a17 Verified runtime assertion that running task is either scheduled or yielding. 2022-12-04 11:54:07 -05:00
Tobias Reinhard
61bffc4617 Adapted loop invariant to reflect potential change of state lists. 2022-12-04 10:46:05 -05:00
Tobias Reinhard
b594404b59 Restored loop invariant at end of task-swapping branch 2022-12-04 10:33:36 -05:00
Tobias Reinhard
fbf4ba981f Added lemmas to update read permissions for unscheduled tasks after new task has been started. 2022-12-04 10:19:48 -05:00
Tobias Reinhard
6a0b2116fe Added lemmas to define updated state lists and reason locally about results. Local reasoning necessary to avoid auto-lemma application loops. 2022-12-04 09:17:13 -05:00
Tobias Reinhard
e403e8bc74 Added lemma to update the read permissions for unscheduled tasks after a task has been stopped. 2022-12-03 18:05:15 -05:00