Skip to main content
Go to the home page of the European Commission (opens in new window)
English English
CORDIS - EU research results
CORDIS

Developing Correct Concurrent Software Using Types

Project description

New programming languages for concurrency

Modern computer programs carry out many tasks concurrently, which is essential to process large data sets and to serve many users simultaneously. Concurrent programs are amongst the hardest programs to get right, making it challenging to determine whether they enjoy properties such as "the program will always respond" or "private data cannot leak to attackers". Moreover, there is no guarantee that these properties are preserved after compilation to efficient machine code. The ERC-funded COCONUT project will develop the foundations of new programming languages, which will automatically ensure that important properties (such as those mentioned above) hold by construction. These goals will be achieved by combining and extending results from programming language theory, concurrency theory, compilers, security and proof assistants.

Objective

Modern society runs on concurrent software: different processes (threads) jointly process massive data sets and serve many clients and users simultaneously. Good methods to ensure the correctness of concurrent software are lacking due to the enormous space of concurrent executions. But it is vital to have some correctness guarantees, e.g. “every thread will eventually perform an action” (liveness) or “private data cannot leak to an attacker” (non-interference). Recent years saw an active development and industry adoption of new programming languages that automatically enforce correctness guarantees through a type system that disables programmers from writing “bad programs”. Yet, existing concurrent programming languages cannot enforce “deep” concurrency properties such as liveness and non-interference. Moreover, there is no guarantee that the good properties of high-level programs are preserved after compilation to executable machine code, because compilers perform increasingly complicated unverified optimizations.

The COCONUT project will design and verify new type systems, compilers and logical abstractions for fully-fledged concurrent programming languages that automatically enforce deep program properties. COCONUT will address this objective through rigorous machine-checked foundations, leveraging recent innovations in the development of powerful program logics for concurrency (in which I played a key role). The foundations are essential to prove the validity of our results, but they will also play a key role for experiments and to bring together recent results from the fields of programming language theory, concurrency theory, compilers, security and proof assistants.

COCONUT will impact the development of future concurrent programming languages but also the practice of concurrent programming itself, and thereby contribute towards the grand challenge of enabling software engineers to write correct and secure concurrent software.

Fields of science (EuroSciVoc)

CORDIS classifies projects with EuroSciVoc, a multilingual taxonomy of fields of science, through a semi-automatic process based on NLP techniques. See: The European Science Vocabulary.

You need to log in or register to use this function

Keywords

Project’s keywords as indicated by the project coordinator. Not to be confused with the EuroSciVoc taxonomy (Fields of science)

Programme(s)

Multi-annual funding programmes that define the EU’s priorities for research and innovation.

Topic(s)

Calls for proposals are divided into topics. A topic defines a specific subject or area for which applicants can submit proposals. The description of a topic comprises its specific scope and the expected impact of the funded project.

Funding Scheme

Funding scheme (or “Type of Action”) inside a programme with common features. It specifies: the scope of what is funded; the reimbursement rate; specific evaluation criteria to qualify for funding; and the use of simplified forms of costs like lump sums.

HORIZON-ERC - HORIZON ERC Grants

See all projects funded under this funding scheme

Call for proposal

Procedure for inviting applicants to submit project proposals, with the aim of receiving EU funding.

(opens in new window) ERC-2024-COG

See all projects funded under this call

Host institution

STICHTING RADBOUD UNIVERSITEIT
Net EU contribution

Net EU financial contribution. The sum of money that the participant receives, deducted by the EU contribution to its linked third party. It considers the distribution of the EU financial contribution between direct beneficiaries of the project and other types of participants, like third-party participants.

€ 2 000 000,00
Address
HOUTLAAN 4
6525 XZ Nijmegen
Netherlands

See on map

Region
Oost-Nederland Gelderland Arnhem/Nijmegen
Activity type
Higher or Secondary Education Establishments
Links
Total cost

The total costs incurred by this organisation to participate in the project, including direct and indirect costs. This amount is a subset of the overall project budget.

€ 2 000 000,00

Beneficiaries (1)

My booklet 0 0