Página 1 de 1

Detectar errores de semántica

Publicado: 06 Sep 2018, 01:29
por Agu
Dado un algoritmo cualquiera que genere una solución a un problema: ¿existe algún programa o forma de detectar todos los posibles errores de ejecución (run-time error)?.

Ejemplo: se crea un código en un lenguaje que halla el cociente entre dos números enteros. Dichos enteros serán ingresados por el usuario. El programa fuente supera exitosamente la compilación y funciona en algunos casos, por ejemplo, cuando el divisor es mayor a cero. Sin embargo cuando el dividendo es cero el programa falla dado que no se puede dividir por cero. En este caso es muy sencillo intuir este problema, pero cuando trabajamos con programas grandes y complicados no es posible detectar todos los errores de ejecución sin perder una buena cantidad de tiempo.

Lo que busco es una especie de "tester automático", para tener que ahorrarme yo el tener que ir probando uno por uno los casos posibles de error. Lo único que se me ocurre momentáneamente es crear un programa que emule un usuario artificial y que ingrese y verifique uno por uno los valores posibles, llevando un registro de los casos en los que surgen errores.

Saludos.

Re: Detectar errores de semántica

Publicado: 06 Sep 2018, 07:29
por Dosyogoro2
Fuera de tema se escribió:
Spoiler: show
Debería de haber dos conceptos de división.

Una: La división que reparte, en donde repartir entre 0 es 0, y sobra todo en el resto; 10 caramelos a repartir entre 0 personas es 0 caramelos por persona y sobran 10 caramelos.

Y dos: La división como cambio de razón de unidad; qué es el concepto de preguntarse: ¿cuanto valdría 10 si en vez de su unidad fuera respecto a 1 convirtiéramos su unidad respecto al 0 respecto a su unidad? Lo cual daría infinito, y cuanto más límite de 0, pues más límite de infinito.

Dos conceptos diferentes, uno es dividir como repartir, el otro ya no es exactamente dividir o repartir, sino cambiar su razón base en base a su razón base original respecto a la nueva razón (o unidad razonada).