top of page

AI bugs detector and the limits of computability

  • Immagine del redattore: James
    James
  • 10 mag
  • Tempo di lettura: 4 min

Artificial intelligence is undoubtedly increasing the security level of modern software.For decades, discovering vulnerabilities has been one of the most difficult tasks in cybersecurity. Today, AI systems are becoming capable of identifying bugs automatically, accelerating vulnerability research in ways that were previously unimaginable.

However, AI does not structurally solve the problem.

Artificial intelligence is profoundly reshaping the paradigm of cybersecurity:


  • it dramatically increases the ability to detect vulnerabilities,

  • automates auditing and debugging,

  • accelerates code verification


but it cannot eliminate the problem at its root.


Bugs are not merely implementation mistakes. To some extent, they are an inevitable consequence of the limits of computability itself.

To understand why, we need to look at the deeper history of computer science.


The Return of an Old Dream

In recent years, computer science has returned to one of its oldest ambitions:

building systems capable of automatically finding every bug.

The idea is deeply seductive.If an artificial intelligence can write code, analyze it, and even “understand” it, perhaps it could eventually make software perfect.

Modern technologies increasingly seem to move in this direction with the famous Claude Mythos.


This creates an almost inevitable narrative:

enough artificial intelligence → bug-free software.

And yet, there is a fundamental problem.


Not a technological one. Not an economic one. Not even a practical engineering limitation.

But a beautiful mathematical problem.

This limit was formalized almost a century ago by Alan Turing, and it still defines the ultimate boundary of what any intelligent system human or artificial can achieve.


The Dream of the Universal Bug Detector

Imagine trying to build a perfect program called:

BugDetector

Its task would be straightforward:


  • take any program as input,

  • analyze it,

  • determine whether it contains bugs.


Now let imagine that this tool start to analyze a program, a precise question might ask:

“Will this program terminate, or will it enter an infinite loop?”

At first glance, this seems like a perfectly reasonable question. Programmers deal with similar issues every day, in fact a lot of issues ultimately require predicting the future behavior of a program and this is precisely where Turing’s work becomes relevant.

The Halting Problem

In 1936, Alan Turing published:

On Computable Numbers, with an Application to the Entscheidungsproblem

In this groundbreaking paper, he introduced the concept of the Turing Machine and demonstrated a devastating result:

no general algorithm can always determine whether a program will terminate.

Formally, Turing proved that there cannot exist a universal function:

La formula matematica può essere scritta come:

H(P,x)

capable of correctly deciding, for every possible program P and input x, whether:

P(x)

halts or runs forever.

This result became known as the Halting Problem.

The Core of the Proof

The fascinating part of Turing’s argument is that it is almost philosophical in nature.

Suppose a perfect program exists:

H(P)

which can determine whether any program terminates.

Now construct another program:

D(P)

that deliberately does the opposite of what H predicts:


  • if H says P terminates → D enters an infinite loop

  • if H says P loops forever → D terminates


At this point ask:

D(P)

What happens when the program analyzes itself?


Every possible answer generates a contradiction:


  • if it terminates, then it should not terminate

  • if it does not terminate, then it should terminate


Therefore: H cannot exist!

This Is Not a Power Problem

This is the crucial conceptual leap.

The issue is not:

  • slow computers,

  • insufficient memory,

  • primitive algorithms.


The issue is far more radical.

Artificial Intelligence enters the picture

At this point, a natural question emerges:

Could a sufficiently advanced AI overcome this limit?

The answer is no.

And this is where the connection to modern AI becomes truly interesting.

AI Does Not Escape Computability

An artificial intelligence system is still:


  • an algorithm

  • a computational system

  • a transformation from input to output


It may be:


  • neural,

  • probabilistic,

  • symbolic,

  • quantum,

  • distributed


but it remains subject to the limits of computation.


If an AI existed that could always detect every possible bug, it would effectively solve the Halting Problem itself.

But Turing demonstrated that this is impossible.

Therefore, AI yes can discover many bugs, it can be enormously useful and it can dramatically improve software quality but it can never guarantee universal perfection.


Rice’s Theorem: The Problem Is Even Deeper

In later years, mathematician Henry Rice generalized Turing’s result even further.

Rice’s Theorem states:

every non-trivial semantic property of a program is undecidable.

In practical terms, this means there can be no universal algorithm capable of always determining whether a program is:

  • secure,

  • correct,

  • vulnerable,

  • optimal,

  • bug-free.

The problem extends far beyond termination.

It affects virtually every interesting property of software behavior.

At this point we understand that theoretical computer science says that perfect general verification is impossible.


Engineering took a different path: if perfect universal verification is impossible, then the problem itself must be constrained.

This became the guiding principle behind many military and academic research projects, which attempted to build highly controlled systems small enough to be formally verified and mathematically trusted.


The Case of the VAX VMM Security Kernel

In the 1980s, Digital Equipment Corporation, together with the U.S. Department of Defense, developed the:

VAX VMM Security Kernel

The project was extraordinarily ambitious: build a logically secure kernel, formally verified and compliant with the highest military security standards.

The system attempted to mathematically prove that access controls were correct, isolation mechanisms worked and security policies were always enforced.

It represented one of the most concrete incarnations of the dream of “perfect software.”


Unfortunately the project encountered enormous difficulties: first of all the astronomical costs and the extremely slow development, moreover an severe scalability limitations.

At the end

The idea of an AI capable of eliminating every bug belongs more to technological mythology than to mathematics.

This does not diminish the value of AI.

On the contrary: it will dramatically improve software development, automate debugging and verification and increase security and reliability.

But there will always remain an unavoidable boundary.

A point beyond which the issue is no longer insufficient computational power, but logical impossibility itself.

And perhaps this is Turing’s most important lesson:

some limits are not temporary.They are structural.

The field of hacking and bug hunting will certainly become far more complex. It will increasingly evolve into a contest of AI models against other AI models. And we should also remember that AI systems themselves will become a major new attack surface.


 
 
 

Commenti


bottom of page