News for hackers. Stuff that matters.
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by emodendroket on Thursday July 01, 2021 @08:18AM (#27698343)
Can't say we've really figured out proofs for program correctness now, can we?
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by auggierose on Thursday July 01, 2021 @08:33AM (#27698469)
We have figured it out. People with a PhD and given enough time can do it. Scaling this will be possible, especially with the help of AI, as soon as there is the actual will there to do it.
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by planb on Thursday July 01, 2021 @09:02AM (#27698666)
We haven't even figured out how to specify what "correctness" means for all but the most trivial examples. What is the "correct" behavior of that example snippet in the linked post?
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by WanderPanda on Thursday July 01, 2021 @09:26AM (#27698818)
I don't know anything about formal correctness proofs but my imagination tells me it is bounded by the description of the task. Aren't we just shifting the bugs toward the task description? Or is it about being able to specify a task with a very simple program (e.g. brute force) that is unfeasible to run but can be somehow used to verify that simpler (in terms of runtime complexity) programs provide the same outputs?
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by pbronez on Thursday July 01, 2021 @09:37AM (#27698903)
Yes. Figuring out what a program SHOULD do is often as hard as figuring out how to actually do it. The relative difficulty shifts depending how far you are from the real world. The closer your project is to actual people doing actual work, the harder it is to define the requirements precisely.
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by dgb23 on Thursday July 01, 2021 @10:05AM (#27699150)
Yes, they can only logically deduce correctness based on our assumptions of a given system boundary. But I think it is typically a good idea to write them down formally if you need the guarantees. They are also typically smaller and more declarative.
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by ImprobableTruth on Thursday July 01, 2021 @09:53AM (#27699055)
Sure, if your task description/specification is buggy nothing can save you, but if you only have to check the spec your work gets much easier. If you write a program, you have to both make sure that the spec is correct and that the spec is correctly implemented.
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by auggierose on Thursday July 01, 2021 @09:09AM (#27698716)
Very good question! Try to figure it out yourself and you will see what is wrong with software development today.
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by IncRnd on Thursday July 01, 2021 @08:49AM (#27698568)
So, for people to quickly implement http requests, we need a mountain of AI hardware backed by legions of PhDs with endless time to vet the http requests.

That doesn't seem sustainable. It also seems like a poor cost to value ratio.

Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by auggierose on Thursday July 01, 2021 @08:55AM (#27698609)
No. If it is something that has been done plenty of times before, then we would also know how to prove the correctness of it automatically. It would also lead to much better and less code, because you would be aware that it has been done before so many times.
Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by justanotherguy0 on Thursday July 01, 2021 @09:42AM (#27698952)
So, for people to quickly implement http requests, we need to feed, clothe, and discipline humans for a minimum of two decades, backed by legions of teachers, doctors, and professors with endless time to service them.

That doesn't seem sustainable. It also seems like a poor cost to value ratio

Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by j16sdiz on Thursday July 01, 2021 @08:55AM (#27698613)
Proofing correctness (in general) is incomputible (halting problem and stuffs).

Those "prove" you see in academic paper are very specific case.

Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by ImprobableTruth on Thursday July 01, 2021 @10:00AM (#27699116)
Thankfully correctness in the general case doesn't matter in reality, in the same way that it doesn't matter that not all 'correct' programs can be possibly typed.

And I don't know why you put "prove" in scare quotes. There is formally verified software that has been proven to conform to a spec. They aren't just toy programs either, see SEL4 or CompCert for 'real' programs.

Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by Tainnor on Thursday July 01, 2021 @11:47AM (#27700358)
The halting problem doesn't prevent you from writing proofs for programs, same as Gödel's theorems don't prevent mathematical proofs from existing.

Fully verified programs do exist (e.g. CompCert C compiler), although for various reasons, it's still a niche.

Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by JadeNB on Thursday July 01, 2021 @09:07AM (#27698705)
> Proofing correctness (in general) is incomputible (halting problem and stuffs).

> Those "prove" you see in academic paper are very specific case.

Not to put too fine a point on it, but every program written is a very specific case, so I'm not sure this is such a convincing point.

As you say, there is absolutely, provably, no general-purpose algorithm out there that will prove program correctness automatically. That is in no way to say that humans can't or shouldn't try to prove some programs correct, or even that you can't have an algorithm that will prove certain classes of programs correct.

With that said, I do also think your parent:

> We have figured it out. People with a PhD and given enough time can do it. Scaling this will be possible, especially with the help of AI, as soon as there is the actual will there to do it.

is too optimistic, and throwing a little cold water on that rosy prediction is appropriate.

Re:Don't encode POST bodies like GitHub Copilot, use URLSear... by emodendroket on Thursday July 01, 2021 @08:48AM (#27698560)
I admire your optimism.