La realidad es que ya existe una forma de chequear errores automáticamente en tu programa. Desde hace poco tiempo existe un componente llamado gb.test que implementa "unittesting", una forma de vigilar tu programa antes errores posibles de programación o de mal uso por otros usuarios.
https://gambaswiki.org/wiki/doc/unittesting
Evidentemente los test los tiene que programar el desarrollador, no existe una forma mágica de adivinar los errores, pero más que una solución rápida, es un concepto o una filosofía de programación. Habréis oído hablar de las "test driven development" o desarrollo conducido por pruebas, donde literalmente se escriben los test de errores antes que la propia aplicación, muy común entre los programadores de Python y C.
Saludos