News for hackers. Stuff that matters.
Re:Postgres 19 is late, and it's AI's fault by shalmanese on Monday November 02, 2026 @12:28AM (#50333440)
> This seems…good?

You would think so but medicine has faced this paradox since the development of modern testing technology.

You would naively think more testing is always better. More sophisticated practitioners then talk about Type I vs Type II errors and the problem of false positives.

But even if you were able to come up with tests that had 100% accuracy, there are times when you don't want to run that test on someone. The key distinction is that people only ever die of one thing and having a tumor that doesn't kill them is often better than risking the surgery to remove the tumor.

Similarly, there are some bugs you don't want to find since the harm from the people it affects is smaller than the opportunity cost of fixing it. Ignorance of the bug is better than knowing about it and having to make an affirmative decision not to fix it.

Re:Postgres 19 is late, and it's AI's fault by vikramkr on Monday November 02, 2026 @12:57AM (#50333562)
I don't see how that's a relevant comparison. These are software bugs. Once you find them you fix them. You can't predict the harm from a small bug when AI can chain complex exploits and when your software is used in mission critical applications as a data store. There's no paradox here, bugs are bad and you want to fix them all.
Re:Postgres 19 is late, and it's AI's fault by shalmanese on Monday November 02, 2026 @01:46AM (#50333813)
You don't want to fix them all because every fix has an opportunity cost. This was the big shift of switching language from "bug" to "defect".

Logically, a bug that prevents someone from doing something and a missing feature that prevents someone from doing something are equivalent, they shouldn't be thought of as two separate activities but should be evaluated via the same framework. The list of all defects in a piece of software is infinite so it becomes impossible to erase all defects. It's about prioritizing with finite resources.

> You can't predict the harm from a small bug when AI can chain complex exploits and when your software is used in mission critical applications as a data store.

Yes, any bug can theoretically be part of an exploit chain, just like any tumor detected can theoretically be the tumor that kills you. This is why the detection paradox exists. Once you become aware of the tumor, you face a duty to try and mitigate it. But we know from autopsies that people die with all sorts of tumors that didn't kill them.

Similarly, if we bothered to do autopsies of software products after sunsetting to discover a comprehensive list of CVEs, we'd discover a ton of bugs we were better off not knowing about because they ended up not making an impact but we would have diverted resources if we knew about them.

This is not an argument that we should remain totally ignorant of all bugs, but a refutation of the "common sense" belief that more knowledge is always better.

Re:Postgres 19 is late, and it's AI's fault by jcattle on Monday November 02, 2026 @03:55AM (#50334510)
Nice way to think about it.

I guess it really depends on the severity of the defect. Would it allow some really significant exploit? -> Important to fix.

Does the defect only prohibit one very esoteric use-case which basically never comes up (and was thus never reported by a human user and only now that we have an infinitely patient machine checking every completely unlikely code path is it detected) -> more productive use of your time to develop a new feature which would be used by more people.

Re:Postgres 19 is late, and it's AI's fault by shigawire on Monday November 02, 2026 @12:59AM (#50333574)
Fix one bug, make 3 more
Re:Postgres 19 is late, and it's AI's fault by vikramkr on Monday November 02, 2026 @01:06AM (#50333611)
That's just a skill issue with extra steps
Re:Postgres 19 is late, and it's AI's fault by daveguy on Monday November 02, 2026 @08:03AM (#50336276)
LLMs throw false positives all the time. They're bullshit machines.
Re:Postgres 19 is late, and it's AI's fault by MrJohz on Monday November 02, 2026 @02:47AM (#50334164)
That's a flawed analogy though.

Firstly, the cost of fixing a bug once you know it exists is usually minimal compared to the cost of discovering that bug. This is the inverse of medicine, where the cost of testing (at least in terms of health outcomes for the patient) is typically minimal compared to the cost of treatment.

Secondly, if you have an asymptomatic illness, this does not typically make you more vulnerable (hence why it's asymptomatic). Like you say, you typically only die of one thing, so if you know the patient won't die of a particular diagnosis because something else is more likely to kill them, then it might not be worth making that diagnosis. But for software, you can be simultaneously vulnerable to lots of things at once, and any of these vulnerabilities can be the one to "kill" you. Some vulnerabilities may be easier to find and exploit (or do more damage) but in principle any active vulnerability can be exploited.

Thirdly, having multiple vulnerabilities makes software more vulnerable overall, because those vulnerabilities can potentially be chained together to create more serious exploits than each vulnerability would have represented on its own. To a certain extent this can be true in medicine as well, but generally it isn't.

Fourthly, we can't cure death (yet?) but we can cure all the vulnerabilities that we've found so far. There is no known upper bound on the lifespan of a piece of software, and we know that older code tends to have fewer bugs in that newer code, presumably because those bugs have been fixed over time. This is different from health issues, where a given condition may be chronic or terminal and therefore at a certain point there's nothing you can do to fix it.

Finally, ultimately in healthcare it's your body, and your decision was to what you do with it (assuming you can find a doctor willing to do what you want). If you have a condition and you want it cured, even if it is completely benign and will have no impact on your life whatsoever, then you can do that. (Again, assuming you have the resources and the condition is curable). But a software vulnerability does not affect you as the developer of the software, it instead affects your users/clients/customers. Therefore there are different dynamics in play. If I sell you a tool and I know it could be vulnerable, but I don't try and find out what those vulnerabilities are, then you're ultimately the one on the hook when all your data gets deleted or leaked.

Re:Postgres 19 is late, and it's AI's fault by shalmanese on Monday November 02, 2026 @02:54AM (#50334188)
> Firstly, the cost of fixing a bug once you know it exists is usually minimal compared to the cost of discovering that bug.

Boy, I wish!

> Like you say, you typically only die of one thing, so if you know the patient won't die of a particular diagnosis because something else is more likely to kill them, then it might not be worth making that diagnosis.

You can't know someone didn't die of X until after they died, that's the entire point of this dilemma.

Re:Postgres 19 is late, and it's AI's fault by MrJohz on Monday November 02, 2026 @06:26AM (#50335477)
It is generally easy to fix a bug that has already be found and can be reproduced (has been diagnosed, so to speak) than to find that bug in the first place. That's one of the reasons that LLM security scanning has become so important recently: it massively reduces the cost of finding those vulnerabilities.

As to your second point, you don't know exactly what a person will die of, but you can make statically sound estimates. You generally won't test unlikely potential causes of death (either because the chance of a positive result is too small, or because you know there are other, more serious conditions). But once a vulnerability is known, it is infinitely reproducible, which means the chance of the vulnerability being "fatal" (assuming the conditions exist for it to be exploited) is essentially 1.

The other flaw in the analogy is that in medicine, the patient chooses to do the tests on themselves. But in software security, there is an adversarial attacker as well as the "doctor" trying to defend the software. And in general, if the defender can find a vulnerability, they must assume that an attacker could already have found the same vulnerability (because the attacker and defender have largely the same tools and information at their disposal, especially in open source contexts), in which case, as discussed previously, that vulnerability also needs to be assumed to be fatal.

Re:Postgres 19 is late, and it's AI's fault by gmueckl on Monday November 02, 2026 @10:24AM (#50338088)
The word "generally" contains a lot of assumptions in that first sentence. I can think of a couple of scenarios where fixing a bug can absolutely spiral. There are even cases where the far better outcome is to leave a bug in place now that it is known.
Re:Postgres 19 is late, and it's AI's fault by eviks on Monday November 02, 2026 @01:54AM (#50333856)
> some bugs you don't want to find

The key thing you forgot, which makes this approach non-sensible, is the omniscience, without which you have no clue whether your posture towards a new bug-finding tool is good or not, since you don't know whether it will mostly find those bugs that are not worth fixing and the time wasted on fixing them is detrimental.

Similarly, how is ignorance better than informed decision when ignorance also includes missing critical security bugs?

Re:Postgres 19 is late, and it's AI's fault by shalmanese on Monday November 02, 2026 @02:25AM (#50334025)
Same as we do medical tests: We define some bar a test must meet and then the population, if any, it is applicable for and especially the population it is not applicable for because the curse of knowledge exceeds the benefit (eg: breast cancer screenings not recommended for people under 40 or over 74).

This isn't an argument against all automated bug detection, just that it needs to exceed a threshold beyond just "It has found at least one real bug not found via other means" which is the seductive threshold people want it to be.

Re:Postgres 19 is late, and it's AI's fault by eviks on Tuesday November 03, 2026 @01:22AM (#50348723)
> We define some bar

Go on - define a bar here.

> just that it needs to exceed a threshold

Same. Be specific.

Re:Postgres 19 is late, and it's AI's fault by andy_ppp on Monday November 02, 2026 @12:58AM (#50333567)
Doing surgery on a code base is dramatically better than surgery on a person, the analogy breaks down pretty quickly I’d say…
Re:Postgres 19 is late, and it's AI's fault by womble2 on Monday November 02, 2026 @01:45AM (#50333806)
I dare say of we could git revert people after surgery we'd be a lot more relaxed about both undergoing it and letting people do it with less qualifications.
Re:Postgres 19 is late, and it's AI's fault by gmueckl on Monday November 02, 2026 @10:27AM (#50338149)
Is it, when the software has the potential to destroy one or more people's lives when things go wrong? Sometimes the devil you know is the far better choice.
Re:Postgres 19 is late, and it's AI's fault by baq on Monday November 02, 2026 @01:11AM (#50333642)
Medicine is fuzzy, software is mostly maths. You can prove your software has no bugs and you increasingly should be proving that. The hard part is knowing if what you prove is what the software is doing.
Re:Postgres 19 is late, and it's AI's fault by fmbb on Monday November 02, 2026 @01:51AM (#50333841)
> You can prove your software has no bugs

That very much depends on got you define “bug” and how you specify your product requirements. Also, you have to assume the specs are correct.

Re:Postgres 19 is late, and it's AI's fault by shalmanese on Monday November 02, 2026 @01:49AM (#50333832)
The percentage of software that is even in theory provable to be bug free is a miniscule proportion of the software we use on a day to day basis. In many cases, simply the act of writing a proof becomes largely idempotent to building bug free software which is impractical.
Re:Postgres 19 is late, and it's AI's fault by bluGill on Monday November 02, 2026 @09:30AM (#50337314)
That depends on the spec you are proving. If you define bug free as won't overflow any buffers and never follow the NULL pointer it might be possible to prove that much. This would be a useful thing to prove for Postgress - even though it could return garbage for every possible select statement and still pass the above proof. If you want to prove postgres does the right thing as well that is much harder to spec - it might not be worth it.
Re:Postgres 19 is late, and it's AI's fault by shakow on Monday November 02, 2026 @05:58AM (#50335282)
> The key distinction is that people only ever die of one thing and having a tumor that doesn't kill them is often better than risking the surgery to remove the tumor.

But what applies to humans doesn't apply to software. First, to pursue the metaphor, codebase can definitely die/be compromised/crash because of multiple reasons at the same time; second, there is virtually no risk, out of man-hours, in fixing a bug.

Re:Postgres 19 is late, and it's AI's fault by josteink on Monday November 02, 2026 @01:45PM (#50341561)
> Ignorance of the bug is better than knowing about it and having to make an affirmative decision not to fix it.

It seems like this option is being taken away by LLMs for all major and widely used open-source projects.

For better and worse.