Skip to main content
Przejdź do strony domowej Komisji Europejskiej (odnośnik otworzy się w nowym oknie)
polski polski
CORDIS - Wyniki badań wspieranych przez UE
CORDIS

Principles and Methods to Verify OCaml Programs

Opis projektu

Opracowanie ram weryfikacji dedukcyjnej dla programów napisanych w języku OCaml

Założeniem weryfikacji dedukcyjnej oprogramowania jest przekształcenie poprawności programu komputerowego na twierdzenie matematyczne, a następnie udowodnienie go. Oprogramowanie napisane w języku OCaml zdaje się być doskonałym kandydatem do weryfikacji, ponieważ OCaml to język pierwszego wyboru dla programistów chcących tworzyć rozbudowane oprogramowanie, jest bowiem językiem wieloparadygmatowym, pozwalającym na pisanie zwięzłego i eleganckiego kodu, a jednocześnie charakteryzującym się prostym modelem wykonania i semantyką operacyjną. Dotychczas nie powstało jednak w większości zautomatyzowane narzędzie weryfikacyjne, które potrafiłoby weryfikować kod napisany bezpośrednio w języku OCaml. W celu wypełnienia tej luki, uczestnicy finansowanego ze środków Unii Europejskiej projektu Cameleer planują opracować ramy weryfikacji dedukcyjnej, kładące nacisk na automatyzację dowodów, które pozwolą na bezpośrednią weryfikację programów napisanych w języku OCaml. W rezultacie powstanie potężne, użyteczne i w większości zautomatyzowane narzędzie weryfikacyjne dla społeczności skupionej wokół tego języka, co pozwoli większej liczbie programistów na uwzględnienie metod formalnych w swoich pracach.

Cel

Deductive software verification, a subject within the broader field of formal methods, proposes a very ambitious path: to turn the correctness of a computer program into a mathematical statement, and then prove it. This project aims to develop a deductive verification framework, with a clear focus on proof automation, that directly tackles the verification of OCaml-written programs.
OCaml seems to be particularly good target for verification. On one hand, it is the language of choice for the implementation of sensible software such as proof assistants, automated solvers, and compilers. On the other hand, OCaml is a multi-paradigm language, supporting both the functional and imperative paradigm, one can write clean, concise, type-safe, and efficient code. Yet, a verification tool that can handle hand-written code and is mostly automated does not currently exist. OCaml programmers must chose between proof automation, with the price of learning and programming in a verification-aware language, and then perform code extraction, or tools that require manual proof assistance.
The Cameleer project aims to remedy this situation by providing the tools and principles for the verification of OCaml programs. The main outcome of this project is a powerful, usable, and mostly automated verification framework for the OCaml-written code. This will be a major step towards making verification more accessible to OCaml programmers, even in case they are not verification experts. The Cameleer framework will feature a translation of OCaml programs annotated with specifications written in GOSPEL, a recently proposed specification language, to different intermediate verification languages, namely WhyML, Viper, and Coq. This coexistence of multiple intermediate verification infrastructures allows the devised framework to target the verification of a large subset of OCaml programs, while combining the strengths of each individual intermediate language to obtain better verification results.

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.

Aby użyć tej funkcji, musisz się zalogować lub zarejestrować

Program(-y)

Wieloletnie programy finansowania, które określają priorytety Unii Europejskiej w obszarach badań naukowych i innowacji.

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.

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.

MSCA-IF-EF-ST - Standard EF

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.

(odnośnik otworzy się w nowym oknie) H2020-MSCA-IF-2019

Wyświetl wszystkie projekty finansowane w ramach tego zaproszenia

Koordynator

UNIVERSIDADE NOVA DE LISBOA
Wkład UE netto

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.

€ 147 815,04
Koszt całkowity

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.

€ 147 815,04
Moja broszura 0 0