John Regehr
[This piece is co-authored with Vsevolod Livinskii.] Formal verification isn’t some sort of magic pixie dust that we sprinkle over a computer system to make it better. Real formal verification involves a lot of the same kind of difficult, nasty, grungy engineering work that any other systems-level job involves…
- Popular posts
- 41
- Total points
- 7,180
- HN comments
- 3,664
- Rank
- #125 personal
Visit blog.regehr.org → RSS feedOn Hacker News May 2010 – Aug 2023
Software Engineering 34Programming Languages 20Systems & Performance 8Life, Learning & Writing 6Security & Privacy 5Career & Management 3
Compiler Optimizations are Awesome
Another reason for optimizing compilers: It allows us to write simple and obvious code expecting that the compiler will do the optimization. This both reduces the initial defect count and makes the code more maintainable in the long-run. Note that these are also often the simplest optimizations (e.g. a calculation…
It’s Time for a Modern Synthesis Kernel
I had a student (Fred Smith) who worked on extensions to Popcorn (the predecessor to Cyclone) that supported run-time code generation in a lightweight fashion. Here’s a paper describing part of the system: https://ecommons.cornell.edu/handle/1813/5812 . Fred’s thesis had a bunch more.
Fun with Shellshock
This is great work. Though I must confess I’m more interested (and far more uneasy) about the other side of the coin — people developing projects like these involving machine learning to find and exploit the vulnerabilities in a fully automated fashion. This is related to, but not quite the same as, attempts at…
Race Condition vs. Data Race (2011)
It’s terribly punny/dorky of me, but reading your post it just occurred to me one could start a blog called “Race Condition” about being a person of color and being a computer scientist.
Ways to break your systems code using volatile (2010)
Regarding the example #5, I must be confused about the definition of a sequence point because the resulting assembly output seems to be non-ANSI C:
We Need Hardware Traps for Integer Overflow
How many problem domains require wrapping signed integers or non-wrapping unsigned integers? Can the current undefined case be replaced with a trap and everything else be left intact?