GPN20:Fuzion — Eine neue Programmiersprache für Sicherheit

aus dem Wiki des Entropia e.V., CCC Karlsruhe


Ein Vortrag von Fridtjof Siebert auf der GPN20.

Fuzion ist ein Open Source Projekt, das vor drei Jahren gestartet wurde mit dem Ziel, eine neue Programmiersprache für sicherheitskritische Anwendungen zu entwickeln. Der Vortrag erklärt, wie Sicherheitsprobleme wie log4shell oder spring4shell automatisch erkannt werden.

Der Ansatz von Fuzion ist es, Bestandteile anderer Sprachen in ein einziges, einheitliches Konzept zu vereinigen. Beispiele dieser Bestandteile sind Funktionen, Klassen, Methoden, Packages, Argumente. Fuzion vereinheitlicht diese als Fuzion Features. Das macht die Sprache einfacher und gleichzeitig mächtiger.

Fuzion unterstützt pur funktionale Programmierung ohne mutierbare Variablen. Nicht-funktionale (Seiten-) Effekte werden als Fuzion Effects modelliert und werden Teil der Signatur von Features.

Fuzion definiert ein einfaches Zwischenformat, das es ermöglicht, mächtige statische Analysewerkzeuge zu entwickeln um Sicherheitsaspekte nachzuweisen. Fuzion ist ein Open Source Projekt, das vor drei Jahren gestartet wurde mit dem Ziel, eine neue Programmiersprache für sicherheitskritische Anwendungen zu entwickeln. Der Vortrag erklärt, wie Sicherheitsprobleme wie log4shell oder spring4shell automatisch erkannt werden.

Der Ansatz von Fuzion ist es, Bestandteile anderer Sprachen in ein einziges, einheitliches Konzept zu vereinigen. Beispiele dieser Bestandteile sind Funktionen, Klassen, Methoden, Packages, Argumente. Fuzion vereinheitlicht diese als Fuzion Features. Das macht die Sprache einfacher und gleichzeitig mächtiger.

Fuzion unterstützt pur funktionale Programmierung ohne mutierbare Variablen. Nicht-funktionale (Seiten-) Effekte werden als Fuzion Effects modelliert und werden Teil der Signatur von Features.

Fuzion definiert ein einfaches Zwischenformat, das es ermöglicht, mächtige statische Analysewerkzeuge zu entwickeln um Sicherheitsaspekte nachzuweisen.

Ressourcen:

Slides, examples: https://flang.dev/talks/gpn20

Webseite: https://flang.dev

Twitter: @FuzionLang

GitHub: https://github.com/tokiwa-software/fuzion

Links