El artículo Operational Semantics for Multi-Language Programs
de Jacob Matthews y Robert Bruce Findler presenta dos enfoques para definir la semántica de los programas escritos en dos lenguajes de programación, cuidando especialmente los datos definidos en un idioma y utilizados en el otro. La incrustación en bloque permite que los valores creados en un idioma aparezcan en el código de ejecución de otro, pero estos solo se pueden pasar, no se pueden operar (o quizás se operen solo con una pequeña interfaz). La incrustación natural permite que los valores en un idioma se usen en el otro mediante la realización de una llamada conversión de idiomas cruzados , que convierte los valores de un idioma a otro.
El artículo JNI Light: un modelo operativo para el Core JNI de Gang Tan presenta una semántica formal de cómo funciona el JNI existente. En contraste con el artículo anterior, esto formaliza muchos de los detalles de bajo nivel de lo que está sucediendo, en lugar de tratar de explorar los problemas desde una perspectiva fundamental.
Trabajar en llamadas de función externa de verificación de tipo, como la seguridad de tipo de verificación de llamadas de función externa de Michael Furr y Jeffrey Foster, también proporciona un marco formal en el que expresar el sistema de tipos y demostrar su solidez.
Mirar las referencias en estos documentos y encontrar dónde se citan con Google Scholar lo ayudará a descubrir una imagen más completa de lo que se ha hecho en el área.