Obiettivo
Static program analysis is a fundamental computing challenge. We have recently demonstrated significant advantages from expressing analyses for Java declaratively, in the Datalog language. This means that the algorithm is in a form that resembles a pure logical specification, rather than a step-by-step definition of the execution. The declarative specification does not merely cover the main logic of the algorithm, but its entire implementation, including the handling of complex semantic features (such as native methods, reflection, threads) of the Java language. Surprisingly, the declarative specification can be made to execute up to an order of magnitude faster than the dominant pre-existing implementations of the same algorithms. Armed with this past experience, the SPADE project aims to develop a next-generation approach to the design and declarative implementation of static program analyses. This will include a) a substantially more flexible notion of context-sensitive analysis, which allows context to vary according to introspective observations; b) a flow-sensitive analysis framework that can be used as the basis for dataflow analysis; c) an approach to producing parallel implementations of analyses by exploiting the parallelism inherent in the declarative specification; d) an exploration of adapting analysis logic to multiple languages and paradigms, including C (using the LLVM infrastructure), functional languages (e.g. Scheme), and dynamic languages (notably, Javascript); e) client analyses algorithms (e.g. may-happen-in-parallel, bug finding analyses such as race and atomicity-violation detectors, etc.) expressed modularly over the underlying substrate of points-to analysis.
The work will have applications to multiple languages and a variety of analyses. Concretely, our precise and scalable analysis algorithms will enhance optimizing compilers, program analyzers for error detection, and program understanding tools.
Programma(i)
Programmi di finanziamento pluriennali che definiscono le priorità dell’UE in materia di ricerca e innovazione.
Programmi di finanziamento pluriennali che definiscono le priorità dell’UE in materia di ricerca e innovazione.
Argomento(i)
Gli inviti a presentare proposte sono suddivisi per argomenti. Un argomento definisce un’area o un tema specifico per il quale i candidati possono presentare proposte. La descrizione di un argomento comprende il suo ambito specifico e l’impatto previsto del progetto finanziato.
Gli inviti a presentare proposte sono suddivisi per argomenti. Un argomento definisce un’area o un tema specifico per il quale i candidati possono presentare proposte. La descrizione di un argomento comprende il suo ambito specifico e l’impatto previsto del progetto finanziato.
Invito a presentare proposte
Procedura per invitare i candidati a presentare proposte di progetti, con l’obiettivo di ricevere finanziamenti dall’UE.
Procedura per invitare i candidati a presentare proposte di progetti, con l’obiettivo di ricevere finanziamenti dall’UE.
ERC-2012-StG_20111012
Vedi altri progetti per questo bando
Meccanismo di finanziamento
Meccanismo di finanziamento (o «Tipo di azione») all’interno di un programma con caratteristiche comuni. Specifica: l’ambito di ciò che viene finanziato; il tasso di rimborso; i criteri di valutazione specifici per qualificarsi per il finanziamento; l’uso di forme semplificate di costi come gli importi forfettari.
Meccanismo di finanziamento (o «Tipo di azione») all’interno di un programma con caratteristiche comuni. Specifica: l’ambito di ciò che viene finanziato; il tasso di rimborso; i criteri di valutazione specifici per qualificarsi per il finanziamento; l’uso di forme semplificate di costi come gli importi forfettari.
Istituzione ospitante
10 561 ATHINA
Grecia
I costi totali sostenuti dall’organizzazione per partecipare al progetto, compresi i costi diretti e indiretti. Questo importo è un sottoinsieme del bilancio complessivo del progetto.