De la spécialisation sur la machine virtuelle Java

par Jefferson Mangue

Projet de thèse en Informatique

Sous la direction de Julien Cervelle.

Thèses en préparation à Paris Est , dans le cadre de MSTIC : Mathématiques et Sciences et Technologies de l'Information et de la Communication , en partenariat avec Laboratoire d'informatique de l'Institut Gaspard Monge (laboratoire) et de Algorithmique (equipe de recherche) depuis le 01-10-2016 .


  • Résumé

    La machine virtuelle Java est utilisée comme un environnement abstrait d'exécution par différents langages, en outre Java, Scala, Groovy, Kotlin ou Ceylon. Les travaux des dernières années ont permis d'ajouter l'édition de liens dynamiques découplée de la sémantique du langage Java. La prochaine étape consiste à s'abstraire de la notion de typage statique de Java en proposant un ensemble de mécanismes agissant aux différents temps de vie d'un programme (classfile, template, runtime). Les pistes à explorer sont la specialisation des types paramétrés, la specialisation de type des variables durant l'exécution de languages dynamiques, la specialisation de fonctions (de type de fonctions) dans le but de simplifier l'implantation des methodhandles et enfin la spécialisation de code partiellement appliqués que sont les lambdas ou les closures.

  • Titre traduit

    On the specialization inside the Java Virtual Machine


  • Résumé

    The Java vitual machine is used as an abstract environment by different languages such as Java, Scala, Groovy, Kotlin or Ceylon. The studies of the last years has allowed the add of the publishing of dynamic links separate from the java language's semantics. The next step is to abstract the notion of static typing of Java by proposing a set of mechanisms acting on the different life times of a program (classfile, template, runtime). The tracks to explore are the specialization of the parameterized type, the specialization of the variables' type during the execution of dynamic languages, the specialization of function (the functions' type) to simplify the implemantation of methodhandles and finally the specialization of code partially applied which are lambdas or closures.