Paul McKenney's blog article inspired me to try apply his approach to kernel's memory allocation flags (gfp_flags) and how their combinations affect the decisions and actions taken during page allocation. Recent upstream development around these flags leads me to believe that the complexity is too high for me to reason about them and change the code without unintended changes in semantics. So it might be worth to let the computer do the hard work.

If it works out, the approach should allow to verify that changing the code doesn't result in corner cases where some flag combinations don't work as intended. Then we can attempt to e.g. reduce the number of flags and perform other cleanups without fear of breaking everything.

Of course with model checking, the not-so-surprising outcome would be that even the computer cannot handle such code complexity. Then we will at least know that even for humans it's not worth trying...

Looking for hackers with the skills:

modelchecking codeverification

This project is part of:

Hack Week 12

Activity

  • about 7 years ago: pluskalm liked this project.
  • about 7 years ago: vitezslav_cizek liked this project.
  • about 7 years ago: vbabka added keyword "modelchecking" to this project.
  • about 7 years ago: vbabka added keyword "modelchecking" to this project.
  • about 7 years ago: vbabka added keyword "codeverification" to this project.
  • about 7 years ago: vbabka started this project.
  • about 7 years ago: vbabka originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Model checking the BPF verifier by shunghsiyu

    Project Description

    BPF verifier plays a ...