Stephen Wolfram propone un marco teórico para entender los bugs de software desde la óptica de la ruliology y el Principio de Equivalencia Computacional. El ensayo parte de una idea central: los errores son inevitables porque, aunque las especificaciones que tenemos en mente son computacionalmente simples, los programas —incluso los más elementales— pueden exhibir una sofisticación equivalente a la de cualquier sistema y, por tanto, irreducibilidad computacional. Eso significa que, sin ejecutar el programa, no se puede determinar con certeza qué hará, y los comportamientos inesperados que denominamos "bugs" son una consecuencia lógica de esa irreducibilidad.
Wolfram lo demuestra con máquinas de Turing mínimas. Una máquina de 3 estados y 2 colores parece calcular la función n + 1, pero falla en ciertas entradas (las de la forma 8k − 1), donde deja dígitos incorrectos en la cinta. Otros autómatas funcionan correctamente para 14 entradas y fallan en la decimoquinta; los hay que aguantan hasta n = 62 antes de dar un resultado equivocado. Analizando los cerca de 4.000 millones de máquinas de 4 estados, identifica los valores de n con mayor riesgo de error.
El texto distingue entre la especificación que aporta el propio programa (frente a la cual nunca hay bugs) y las especificaciones externas más simples que usamos para evaluarlo, y es precisamente en la distancia entre ambas donde nacen los errores. Wolfram concluye que solo cabe esperar progreso en "bolsillos de reducibilidad computacional": áreas acotadas donde sí es posible verificar, probar o detectar fallos con métodos formales o con IA, aunque la irreducibilidad seguirá acechando en los bordes.
