Skip to main content
European Commission logo print header

LiquidEff: Algebraic Foundations for Liquid Effects

Projektbeschreibung

Neuartige Ansätze für korrektes Softwareverhalten

Häufig wird gesagt, wir würden am besten lernen, wenn wir Fehler machen – denn dann sind wir gezwungen, genau darüber nachzudenken wie genau etwas funktioniert. Ähnliches gilt beim Programmieren: Es ist viel einfacher, eine Schwachstelle im Programmcode zu beseitigen, nachdem sie zu einem bestimmten Fehler geführt hat, als von vornherein sicherzustellen, dass unser Programm mit sämtlichen eventuell auftretenden Ausnahmen umgehen kann. Da es aber, sowohl aus praktischer als auch aus finanzieller Sicht, doch äußerst wichtig ist, alle möglichen Ereignisse vorherzusehen und sich auf diese entsprechend vorzubereiten, bestehen bereits zahlreiche Konzepte, die sicherstellen sollen, dass in Programmen keine Fehler auftreten. Hier gibt es allerdings noch reichlich Spielraum für Verbesserungen und viele wirtschaftliche Anreize locken uns in diese Richtung. Das EU-finanzierte Projekt LiquidEff entwickelt eine Erweiterung für die Programmiersprache Eff, die zu einer wesentlichen Verbesserung bei der Handhabung von Big Data führen soll.

Ziel

The goal of the LiquidEff project is to significantly advance the state of the art of type-based reasoning about the correctness of programs that can incorporate computational effects such as accessing memory, raising and handling exceptions, making nondeterministic and probabilistic choices, and communicating over a network---all integral features of modern mainstream programming languages. The timeliness and importance of this project is demonstrated by the staggering cost of software failure in our increasingly digital world---one recent study put the number at $1.7 trillion worldwide in 2017 alone. While there already exist different approaches to type-based reasoning about the correctness of effectful programs, they all have their notable shortcomings: the approaches might be tied to a specific typing discipline, the supported effects can be limited, and the kind of properties one can reason about may be restricted. In contrast, the LiquidEff project aims to develop a foundational, uniform, and widely applicable framework for type-based reasoning about effectful programs, based on the highly scalable and modular algebraic approach to modelling computational effects. Specifically, this project will 1) develop an expressive modal logic for reasoning about a wide range of computational effects; 2) show that this logic can express existing effect specification styles; 3) demonstrate that it can be used to design refinement type systems for lightweight type-based reasoning about effectful behaviour, thus giving a general account of the Liquid Effects effect-typing discipline that so far has been restricted to the state effect; 4) study the category-theoretic semantics of these foundations; 5) implement LiquidEff, an extension of the Eff language with a support for lightweight type-level reasoning about programs' behaviour; and 6) use LiquidEff to apply the developed theory in practice to case studies involving big data and asynchronous parallel programming.

Koordinator

UNIVERZA V LJUBLJANI
Netto-EU-Beitrag
€ 150 040,32
Adresse
Kongresni trg 12
1000 Ljubljana
Slowenien

Auf der Karte ansehen

Region
Slovenija Zahodna Slovenija Osrednjeslovenska
Aktivitätstyp
Higher or Secondary Education Establishments
Links
Weitere Finanzmittel
€ 0,00