¿Es posible crear software que pueda encontrar sus propios errores y resolverlos?

Encuentre – para ampliar muy pequeño sí, para resolverlos – no.

Para lograr eso primero, necesitaríamos definir qué es un error de una manera que la computadora pueda entender. Esto es posible, pero muy raramente se hace en la práctica, ya que necesitaría elaborar un modelo matemáticamente preciso de lo que el programa debería y no debería hacer, y tener la capacidad de razonar sobre su código para determinar si cumple con los requisitos. Esta es un área de investigación continua y su aplicación práctica es poco frecuente, aunque esperamos que las herramientas se desarrollen para facilitar la adopción de este método.

En cuanto a la reparación automática de esos defectos, requeriría un nivel de comprensión que las máquinas de códigos aún no tienen. También podría significar que la máquina se hace cargo del proceso de codificación por completo, ya que la solución propuesta puede estar más allá de la capacidad humana para comprenderla. ¿Estaría de acuerdo si la computadora propusiera una solución que rediseñara su programa por completo, haciendo que todas las personas involucradas en su creación no puedan entenderlo?

Aún así, solo cubre los errores definidos con precisión, como “el programa no debe bloquearse en la entrada no válida” o “la persona no autorizada nunca debe tener permisos de administrador”.

La definición más amplia de un error es “algo de lo que la gente se queja”, y eso está más allá de la capacidad de las máquinas para comprender. En algunos casos, las personas se quejan de que las cosas no funcionan de acuerdo con las especificaciones, pero también pueden quejarse de que el software sea complicado, no sea útil, no tenga una función que nunca se requirió tener y todo tipo de otras razones donde cualquier decisión sobre la solución de problemas puede ser completamente no técnico. Predecir y solucionar esos problemas requeriría programas para comprender la naturaleza humana y tener una opinión sobre cómo lidiar con ella. No estoy seguro de que queremos que hagan eso.

¿Estás hablando de estos softwares?

Los 5 mejores softwares de seguimiento de errores de código abierto