Proving code correct is orders of magnitude harder than the rest IMHO. It is amazing that enough progress has been made that large scale projects like CompCert and seL4 can now be done successfully by small teams of people.
I'd say it is not hard but impossible. I have a hard enough time to get requirements specifications that are unambiguous. Proving I coded what I was asked for is not a rigorous science practice. It's a social contract.
Hard Things in Computer Science
41–46 of 46 posts
Re: Hard Things in Computer Science
#42Proving code correct is orders of magnitude harder than the rest IMHO. It is amazing that enough progress has been made that large scale projects like CompCert and seL4 can now be done successfully by small teams of people.
I'd say it is not hard but impossible. I have a hard enough time to get requirements specifications that are unambiguous. Proving I coded what I was asked for is not a rigorous science practice. It's a social contract.
Re: Hard Things in Computer Science
#43Computing with limited numerical precision (aka floating point) is 1.000000000000003534 additional hard thing to deal with.
Modern computers can calculate with a very large finite precision using decimal types. We have so much machine to waste today that if calculations of that sort are relevant, just throw more iron at it.
Re: Hard Things in Computer Science
#44Earlier quoted context omitted.
Modern computers can calculate with a very large finite precision using decimal types. We have so much machine to waste today that if calculations of that sort are relevant, just throw more iron at it.
Nope! More precision sure helps but not in all cases. For example, having more precision will not help in boundary problems where you have to decide if something (for example an amount of money) is above or below a threshold. Moreover, many problems related to money) must compute with limited accuracy. For example, all intermediary results must be in 1/1000th of euros. You can use floats (yeah, I know, everybody say…
Re: Hard Things in Computer Science
#45Proving code correct is orders of magnitude harder than the rest IMHO. It is amazing that enough progress has been made that large scale projects like CompCert and seL4 can now be done successfully by small teams of people.
Interesting... I didn't realize there were large open projects that were formally verified. Are there other examples besides CompCert and seL4?
https://www.microsoft.com/en-us/research/publication/hardeni...
Re: Hard Things in Computer Science
#46People say DNS is hard to get right but I don't see why. It's just cache invalidation and naming things, how hard can it be?