¿Se ha realizado algún trabajo para desarrollar el cálculo diferencial de las máquinas de Turing (o lenguajes formales más simples)


8

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.MIMαMβ

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 :-).


44
Suena como pruebas basadas en modelos . Uno desarrolla un modelo del sistema deseado y luego lo utiliza para generar pruebas para el sistema real.
Dave Clarke

@DaveClarke, gracias por la referencia cruzada a las pruebas basadas en modelos, se me debería haber ocurrido que hay beneficios definitivos al mirar las pruebas basadas en modelos ... Me pregunto si empiezo solo con FSA y puedo construir. capaz de utilizar gran parte de la teoría existente sobre el modelado de fallas. (solo pensando en voz alta)
Ahmed Masud

1
También miraría las teorías del refinamiento del programa y el cálculo del refinamiento. R.-J. Back y J. von Wright han desarrollado esta teoría. En el mundo de la programación concurrente, existe el concepto relacionado de refinamiento de la acción.
Martin Berger

@ MartinBerger, gracias por la sugerencia de investigar el refinamiento de la acción. Específicamente, el refinamiento de la acción en álgebra de procesos y problemas de seguridad dsi.unive.it/~srossi/Papers/lopstr07.pdf fue un hallazgo interesante.
Ahmed Masud

Actualización general: el informe técnico "Modelos de ataque para la seguridad de la información y la supervivencia" por Moore, AP y Ellison, RJ y Linger, RC; proporciona una buena base de partida. PD: Puedo terminar publicando una respuesta a mi propia pregunta derivada de todas las maravillosas sugerencias de todos ... ¿Es eso habitual?
Ahmed Masud

Respuestas:


3

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 :)


2

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.


Aleación es una sugerencia muy interesante :)
Ahmed Masud
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.