When I took one of my first computer science classes, the teacher said never challenge compiler as it's always right. Check your own code. After years of practice in the industry, I'm not that naive boy anymore and I'm pretty sure every system has bug. The only difference is how many times the golden path has been verified, and how wide is that path.
"Always right" is indeed hyperbolic, however the "never challenge compilers" is still good advice. I guess it would be very, very difficult for a human to apply the same optimization passes while introducing less bugs than a compiler would.
We're looking at formal verification methods as part of my senior design project. For the longest time I thought formal verification was more of an afterthought, but as the project has grown, and as I've seen talks and literature showing the benefits of formal verification, I'm now in the camp that all (or at least all serious production...) languages/implementations should prioritize verification.
3 comments
[ 2.7 ms ] story [ 15.0 ms ] thread