Descrizione del progetto
Somiglianze o differenze: è una questione di semantica
I linguaggi di programmazione per computer, proprio come altri linguaggi, possono essere caratterizzati sia dalla sintassi che dalla semantica. La sintassi si riferisce all’effettiva stringa di caratteri che compongono un programma, mentre la semantica fornisce un’astrazione, un significato generale del programma, ignorando i dettagli e concentrandosi normalmente sulla relazione tra input e output. I confronti tra programmi si sono generalmente basati sul confronto delle loro somiglianze o sulla valutazione circa la coincidenza dei loro significati. Il progetto DIAPASoN, finanziato dall’UE, sta studiando le differenze, piuttosto che le somiglianze, tra programmi attraverso la lente di quadri comuni utilizzati per definire la semantica degli stessi.
Obiettivo
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.
Campo scientifico
Not validated
Not validated
Parole chiave
Programma(i)
Argomento(i)
Meccanismo di finanziamento
ERC-COG - Consolidator GrantIstituzione ospitante
40126 Bologna
Italia