• [^] # Re: Passionant

    Posté par . En réponse au journal La recherche en langages de programmation au quotidien. Évalué à 8.

    Et tu n'as pas parlé d'une partie qui me semble prendre de plus en plus de temps dans le monde académique : la recherche de financement. Est-ce parce que l'INRIA est protecteur de ce point de vue, parce que c'est une partie négligeable dans ton cas, autre ?

    Je suis jeune chercheur; je n'ai pas encore cherché à encadrer des étudiants pour un stage rémunéré ou surtout une thèse, donc je n'ai pas eu de besoin direct de financement. C'est quelque chose que je découvrirai dans les années à venir.

    Mes seules sources de dépenses pour l'instant (à part le salaire) sont les voyages. Je voyage pas mal dans le cadre de mon travail (pour rendre visite à des équipes de recherche à qui expliquer mon travail, assister à des conférences internationales, etc.). L'INRIA fournit à mon équipe un budget pour cela, et je suis relativement bien loti. Pour 2018 je peux dépenser environ 3000€ en voyages, ce qui convient si on est raisonnable; c'est plus que d'autres collègues en France (ou encore plus qu'en Amérique du Sud, en Grèce, etc.), mais moins que les gens qui ont obtenu des financements complémentaires. En comparaison, une conférence d'une semaine aux États-Unis au moins 2200ドル.

    Tu dis que ta communauté est en contact avec celle qui poussent des langages comme Julia. Concrètement, comment se passent vos échanges, sur quels types de questions vous penchez vous etc ? Êtes-vous en contact avec la communauté LLVM pour aller vers des transformations prouvées, faire évoluer l'IR etc ?

    J'ai des collègues qui ont travaillé sur le fait de comprendre la relation de "sous-typage" de Julia (voir ce résumé d'exposé), qui est utilisée pour résoudre les appels de fonction (multi-method dispatch). Cette relation était définie assez vaguement dans la documentation, et il y a une implémentation de référence qui est compliquée (c'est une partie qui a évolué avec le temps et pleine d'optimisations variées). Ils et elles ont trouvé des aspects non-intuitifs de cette implémentation, certains qui sont des bugs qui ont été corrigés par les implémenteurs du langage, certains qui sont des difficultés de conception qui demanderaient des évolutions du langage, ou à prendre en compte pour un nouveau langage de ce genre. Les discussions se font souvent par email, parfois en direct (une partie de ces collègues est à Boston, et une partie des développeurs Julia aussi), et portent sur des questions précises (tel comportement est-il intentionnel ou bien un bug ?) ou sur des questions plus générales (voici comment on comprend/modélise ceci ou cela, est-ce que ça correspond à votre intuition / votre implémentation ?). Ce n'est pas toujours évident de discuter parce que les connaissances de chacun peuvent être très différentes—les développeurs de Julia ne connaissent pas forcément bien le typage, même si leur langage l'utilise en fait de façon fondamentale.

    Êtes-vous en contact avec la communauté LLVM pour aller vers des transformations prouvées

    Oui, voir par exemple Provably Correct Peephole Optimizations with Alive, Nuno P. Lopes, David Menendez, Santosh Nagarakatte et John Regehr, 2015.

    (Techniquement ces chercheurs sont dans une communauté un petit plus éloignée de la mienne, plus orientée "compilation" et "vérification automatique" que "sémantique des langages de programmation" et "typage"—mais ce sont des proches qui discutent beaucoup ensemble.)

    Ce n'est pas facile parce que les développeurs de LLVM s'intéressent peu aux méthodes formelles et, en général, à la correction de leurs passes (l'idée d'ensemble est que si ça passe dans la testsuite, c'est raisonnable), mais il y a eu un gros travail de discussion/sensibilisation sur ces dernières années (un des chercheurs sur ce travail, Nuno Lopes, contribute maintenant régulièrement au code, et ça aide), donc ça progresse petit à petit.

    faire évoluer l'IR (LLVM) etc ?

    Oui, Taming Undefined Behavior in LLVM, Juneyoung Lee, Yoonseung Kim, Youngju Song, Chung-Kil Hur, Sanjoy Das, David Majnemer, John Regehr, Nuno P. Lopes, 2017.