Opis projektu
Nowy skuteczny system konstruujący dowody matematyczne i sprawdzający je maszynowo
Języki programowania pozwalają na wydawanie instrukcji komputerowi. Systemy typów (reguły przypisujące konstrukcjom programowym, takim jak zmienne i funkcje, własność zwaną typem) stosuje się w celu umożliwienia definiowania, wykrywania i zapobiegania niedozwolonym stanom programu oraz zapobiegania błędom wykonawczym podczas uruchamiania. Typy doprecyzowujące pozwalają programistom na zawężenie znaczenia typu. Są one obiecującą technologią weryfikacji, ale nie spełniają standardów solidności solwerów opartych na spełnialności formuł logicznych pod zadanymi założeniami (ang. „satisfiability modulo theories”), które akceptują jako bezpieczne tylko te programy, które nigdy nie naruszają ich specyfikacji. W ramach finansowanego przez UE projektu CRETE zostanie zaprojektowany solidny i praktyczny system typu doprecyzowującego, mający zastosowanie w rzeczywistych aplikacjach, takich jak protokoły kryptograficzne.
Cel
Refinement types are a type-based, static verification technique designed to be practical. They enrich the types of an existing programming language with logical predicates to specify program properties and automatically validate these specifications using SMT solvers. Refinement types are a promising verification technology that in the last decade has spread to mainstream languages (e.g. Haskell, C, Ruby, Scala, and the ML-family) to verify sophisticated properties of real world applications, e.g. safety of cryptographic protocols, memory and resource usage, and web security.
The weakness of refinement types is that they do not meet the soundness standards set by theorem provers. A sound verification system accepts as safe only those programs that never violate their specifications. Refinement type checkers (e.g. Liquid Haskell, F*, and Stainless) approximately report five unsoundness bugs per year, as opposed to only one reported by the Coq theorem prover. This rarity of unsoundness bugs in Coq is unsurprising since Coq is designed to soundly machine check mathematical proofs. Coq's soundness design recipe though cannot be directly applied to refinement type checkers that aim to practically verify real world programs.
The goal of CRETE is to design a sound and practical refinement type system.
This is an ambitious goal that entails the development of a verification system that is as practical as refinement types and constructs machine-checked mathematical proofs. The system will be implemented on refinement type systems for mainstream languages (i.e. Haskell and Rust) and will be evaluated on real-world code, such as web applications and cryptographic protocols.
CRETE is high-risk since it aims to develop a novel program logic in which SMT automation co-exists with real world programming. Yet, CRETE is high-gain since it proposes a low-cost, high-profit approach to formal verification that aims to be integrated in mainstream software development.
Dziedzina nauki (EuroSciVoc)
Klasyfikacja projektów w serwisie CORDIS opiera się na wielojęzycznej taksonomii EuroSciVoc, obejmującej wszystkie dziedziny nauki, w oparciu o półautomatyczny proces bazujący na technikach przetwarzania języka naturalnego. Więcej informacji: Europejski Słownik Naukowy.
Klasyfikacja tego projektu została potwierdzona przez zespół projektowy.
Klasyfikacja projektów w serwisie CORDIS opiera się na wielojęzycznej taksonomii EuroSciVoc, obejmującej wszystkie dziedziny nauki, w oparciu o półautomatyczny proces bazujący na technikach przetwarzania języka naturalnego. Więcej informacji: Europejski Słownik Naukowy.
Klasyfikacja tego projektu została potwierdzona przez zespół projektowy.
Słowa kluczowe
Słowa kluczowe dotyczące projektu wybrane przez koordynatora projektu. Nie należy mylić ich z pojęciami z taksonomii EuroSciVoc dotyczącymi dziedzin nauki.
Słowa kluczowe dotyczące projektu wybrane przez koordynatora projektu. Nie należy mylić ich z pojęciami z taksonomii EuroSciVoc dotyczącymi dziedzin nauki.
Program(-y)
Wieloletnie programy finansowania, które określają priorytety Unii Europejskiej w obszarach badań naukowych i innowacji.
Wieloletnie programy finansowania, które określają priorytety Unii Europejskiej w obszarach badań naukowych i innowacji.
-
HORIZON.1.1 - European Research Council (ERC)
GŁÓWNY PROGRAM
Wyświetl wszystkie projekty finansowane w ramach tego programu
Temat(-y)
Zaproszenia do składania wniosków dzielą się na tematy. Każdy temat określa wybrany obszar lub wybrane zagadnienie, których powinny dotyczyć wnioski składane przez wnioskodawców. Opis tematu obejmuje jego szczegółowy zakres i oczekiwane oddziaływanie finansowanego projektu.
Zaproszenia do składania wniosków dzielą się na tematy. Każdy temat określa wybrany obszar lub wybrane zagadnienie, których powinny dotyczyć wnioski składane przez wnioskodawców. Opis tematu obejmuje jego szczegółowy zakres i oczekiwane oddziaływanie finansowanego projektu.
System finansowania
Program finansowania (lub „rodzaj działania”) realizowany w ramach programu o wspólnych cechach. Określa zakres finansowania, stawkę zwrotu kosztów, szczegółowe kryteria oceny kwalifikowalności kosztów w celu ich finansowania oraz stosowanie uproszczonych form rozliczania kosztów, takich jak rozliczanie ryczałtowe.
Program finansowania (lub „rodzaj działania”) realizowany w ramach programu o wspólnych cechach. Określa zakres finansowania, stawkę zwrotu kosztów, szczegółowe kryteria oceny kwalifikowalności kosztów w celu ich finansowania oraz stosowanie uproszczonych form rozliczania kosztów, takich jak rozliczanie ryczałtowe.
HORIZON-ERC - HORIZON ERC Grants
Wyświetl wszystkie projekty finansowane w ramach tego programu finansowania
Zaproszenie do składania wniosków
Procedura zapraszania wnioskodawców do składania wniosków projektowych w celu uzyskania finansowania ze środków Unii Europejskiej.
Procedura zapraszania wnioskodawców do składania wniosków projektowych w celu uzyskania finansowania ze środków Unii Europejskiej.
(odnośnik otworzy się w nowym oknie) ERC-2021-STG
Wyświetl wszystkie projekty finansowane w ramach tego zaproszeniaInstytucja przyjmująca
Kwota netto dofinansowania ze środków Unii Europejskiej. Suma środków otrzymanych przez uczestnika, pomniejszona o kwotę unijnego dofinansowania przekazanego powiązanym podmiotom zewnętrznym. Uwzględnia podział unijnego dofinansowania pomiędzy bezpośrednich beneficjentów projektu i pozostałych uczestników, w tym podmioty zewnętrzne.
28223 Pozuelo De Alarcon
Hiszpania
Ogół kosztów poniesionych przez organizację w związku z uczestnictwem w projekcie. Obejmuje koszty bezpośrednie i pośrednie. Kwota stanowi część całkowitego budżetu projektu.