Estoy tratando de desarrollar algunas nociones de un cálculo de diferencia entre una máquina ideal de Turing ideal concebida por un desarrollador (por ejemplo, lo que sea que pretenda un desarrollador de software), llámelo y las máquinas que representan el software que realmente se diseñó y implementado, digamos M α y M β , respectivamente.
Específicamente, mi interés es examinar las limitaciones (debido al Teorema de Rice, por ejemplo) en la detección automática de errores en los programas de software entre el Lenguaje procesado por la máquina ideal y el lenguaje procesado por las Máquinas desarrolladas / implementadas.
Cualquier referencia al trabajo previo que funcione con algunas nociones de explorar las diferencias entre dos Máquinas de Turing especificadas, o excluir que un Lenguaje formal de bajo nivel sería extremadamente útil y apreciado; porque prefiero citar que escribir :-).
Respuestas:
Como resultado, hay un trabajo fascinante realizado en esta dirección.
En particular, en 2003, Michael Howard, Jon Pincus y Jeannette M. Wing, Medir superficies de ataque relativo en los procedimientos del Taller sobre desarrollos avanzados en seguridad de sistemas y software, Taipei, diciembre de 2003.
El trabajo adicional de los mismos autores a lo largo de los años es bastante interesante ... Para cualquiera que encuentre mi pregunta de interés, puede consultar su trabajo en http://www.cs.cmu.edu/~pratyus/as.html . Y si los encuentras interesantes, espero que también encuentres interesante mi trabajo :)
fuente
Creo que la verificación del modelo de software, en la línea de Alloy , probablemente esté relacionada con lo que estás buscando. Usted escribe un modelo, y también una especificación que el modelo debe satisfacer, y verifica si están relacionados adecuadamente.
fuente