Description du projet
Similarités ou différences: une question de sémantique
Les langages de programmation informatique, tout comme les autres langages, peuvent être caractérisés à la fois par leur syntaxe et leur sémantique. La syntaxe fait référence à la chaîne de caractères qui compose un programme. La sémantique apporte un degré d’abstraction, une signification globale du programme, en ignorant les détails et en se concentrant généralement sur la relation entre l’entrée et la sortie. Les comparaisons de programmes reposent généralement sur la comparaison de leurs similarités ou sur l’évaluation de la similitude de leurs significations. Le projet DIAPASoN, financé par l’UE, étudie les différences plutôt que les similarités entre les programmes à travers le prisme des cadres communs utilisés pour définir la sémantique des programmes.
Objectif
Traditionally, program semantics is centered around the notion of program identity, that is to say of program equivalence: a program is identified with its meaning, and programs are considered as equal only if their meanings are the same. This view has been extremely fruitful in the past, allowing for a deep understanding of highly interactive forms of computation as embodied by higher-order or concurrent programs. The byproducts of all this lie everywhere in computer science, from programming language design to verification methodologies. The emphasis on equality — as opposed to differences — is not however in line with the way programs are written and structured in modern complex software systems. Subtasks are delegated to pieces of code which behave as expected only up to a certain probability of error, and only if the environment in which they operate makes this possible deviation irrelevant. These aspects have been almost neglected by the program semantics community until recently, and still have a marginal role. DIAPASON's goal is to study differences between programs as a constitutive and informative concept, rather than by way of relations between them. This will be accomplished by generalizing four major frameworks of program semantics, traditionally used for giving semantics to programs, comparing them, proving properties of them, and controlling their usage of resources: logical relations, bisimulation, game semantics, and linear logic.
Champ scientifique
Programme(s)
Régime de financement
ERC-COG - Consolidator GrantInstitution d’accueil
40126 Bologna
Italie