# Memory Sicherheit in etablierten Software Stacks > [! hinweis]- > Der Inhalt dieser Seite ist durch Audio/Video-Transkribtion und Text-Transformation aus dem Inhalt und Links dieser Quelle generiert. Quelle: [https://fosdem.org/2025/schedule/event/fosdem-2025-6176-incremental-memory-safety-in-an-established-software-stack-lessons-learned-from-swift/](https://fosdem.org/2025/schedule/event/fosdem-2025-6176-incremental-memory-safety-in-an-established-software-stack-lessons-learned-from-swift/) <video src="https://video.fosdem.org/2025/k1105/fosdem-2025-6176-incremental-memory-safety-in-an-established-software-stack-lessons-learned-from-swift.av1.webm" controls></video> ## Zusammenfassung & Highlights: Diese Session behandelt die schrittweise Verbesserung der Memory-Sicherheit in etablierten Software-Stacks durch die Einführung von Swift. Doug Gregor teilt die Erfahrungen, die bei der Integration von Swift in eine bestehende C- und C++-Umgebung gesammelt wurden. **Einführung in die Memory-Sicherheit** Die Session beginnt mit einer Einführung in die Bedeutung der Memory-Sicherheit. Memory-Sicherheitsprobleme sind die Hauptursache für Sicherheitslücken in Software. Eine vollständige Umstellung auf memory-sichere Sprachen ist oft nicht praktikabel, daher wird ein schrittweiser Ansatz vorgeschlagen. **Swift und Interoperabilität** Swift wurde entwickelt, um in bestehende Software-Ökosysteme integriert zu werden, die auf C und C++ basieren. Die Interoperabilität von Swift mit diesen Sprachen wird hervorgehoben, um eine schrittweise Einführung zu ermöglichen, ohne bestehende Systeme zu stören. **Erfahrungen und Lehren** Die Session teilt die Lehren aus der Einführung von Swift in Apple-Plattformen und zeigt, wie diese Erfahrungen auf andere Plattformen und Ökosysteme übertragen werden können. Der Fokus liegt auf der Interoperabilität und der schrittweisen Einführung, um die Memory-Sicherheit zu verbessern. **Technische und soziale Hürden** Es werden die technischen und sozialen Herausforderungen diskutiert, die mit der Einführung einer neuen Programmiersprache in bestehende Systeme verbunden sind. Der Vorschlag ist, Silos zu vermeiden und eine inkrementelle Einführung zu fördern, um die Akzeptanz zu erhöhen. **Zukunftsausblick** Abschließend wird ein Ausblick auf die zukünftige Entwicklung der Memory-Sicherheit gegeben, mit einem Fokus auf die Zusammenarbeit über Sprachgrenzen hinweg, um die Sicherheit in der gesamten Software-Community zu verbessern. ## Bedeutung für eine öko-soziale Transformation Die Bedeutung der Memory-Sicherheit für die ökosoziale Transformation liegt in der Verbesserung der Software-Sicherheit und der Reduzierung von Sicherheitslücken, die potenziell schädlich sein können. Dies ist besonders wichtig für kritische Infrastrukturen und Systeme, die in nachhaltigen und sozialen Anwendungen eingesetzt werden. Eco-Social Designer können von den in der Session vorgestellten Methoden profitieren, um sicherere Softwarelösungen zu entwickeln. Herausforderungen bestehen in der technischen Komplexität der Interoperabilität zwischen verschiedenen Programmiersprachen und der Notwendigkeit, gesellschaftliche und politische Unterstützung für die Einführung sicherer Softwarepraktiken zu gewinnen. ## Slides: | | | | | ----------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_001.jpg\|300]] | Die erste Folie stellt das Thema der Session vor: die schrittweise Einführung von Memory-Sicherheit in einem etablierten Software-Stack, basierend auf den Erfahrungen mit Swift. Doug Gregor von Apple und der Swift Language Steering Group leitet die Präsentation. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_002.jpg\|300]] | Diese Folie bietet keine spezifischen Inhalte, sondern dient als Platzhalter oder Einleitung für die folgenden Themen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_003.jpg\|300]] | Die Folie stellt die Herausforderung dar, von unsicheren zu sicheren Programmiersprachen zu wechseln. Sie listet verschiedene Programmiersprachen auf, darunter C, C++, Java und Swift, und stellt die Frage, wie dieser Übergang gestaltet werden kann. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_004.jpg\|300]] | Diese Folie erklärt, dass Swift speziell für die schrittweise Einführung in bestehende Software-Ökosysteme entwickelt wurde, um Memory-Sicherheit zu erhöhen, ohne bestehende Systeme zu stören. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_005.jpg\|300]] | Die Folie beschreibt das ursprüngliche Ökosystem von Swift mit Apps für Apple-Plattformen und APIs im Apple SDK, die in C und Objective-C geschrieben sind. Es hebt die Herausforderung der binären Stabilität über viele Jahre hinweg hervor. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_006.jpg\|300]] | Diese Folie zeigt, wie Swift die bestehende C- und Objective-C-API sofort zugänglich gemacht hat. Die Interoperabilität ermöglicht eine unabhängige Sprachwahl vom Bibliotheks-Stack und eine schrittweise Einführung, die den Nutzern Flexibilität bietet. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_007.jpg\|300]] | Die Folie beschreibt den Erfolg von Swift auf Apple-Plattformen, wo bestehende C/Objective-C-Ökosysteme zu Swift übergehen. Diese Bewegung findet auf allen Ebenen des Software-Stacks statt, von Apps bis zu Firmware, und die gewonnenen Erkenntnisse können auf andere Plattformen angewendet werden. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_008.jpg\|300]] | Die Agenda der Session umfasst vier Hauptthemen: Memory-Sicherheit in Swift, Interoperabilität mit C-Sprachen, Build-Interoperabilität und Memory-Sicherheit über Sprachgrenzen hinweg. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_009.jpg\|300]] | Diese Folie behandelt die Memory-Sicherheit in Swift und wie die Sprache darauf abzielt, Programmierfehler zu verhindern, die zu Sicherheitslücken führen könnten. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_010.jpg\|300]] | Die Folie bietet eine Übersicht über Swift als allgemein verwendbare Programmiersprache, die einfach zu schreiben ist. Sie ist seit 2015 Open Source und unterstützt mehrere Plattformen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_011.jpg\|300]] | Memory-Sicherheit schützt die abstrakte Maschine vor Programmierfehlern, die zu Sicherheitslücken führen könnten. Die Sprache sollte wichtige Vorbedingungen überprüfen, entweder statisch oder dynamisch. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_012.jpg\|300]] | Die Folie beschreibt die Dimensionen der Memory-Sicherheit, einschließlich Lebensdauer-, Grenz-, Typ-, Initialisierungs- und Thread-Sicherheit, um Sicherheitsgarantien zu gewährleisten. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_013.jpg\|300]] | Diese Folie befasst sich mit der Lebensdauer-Sicherheit, die sicherstellt, dass auf Speicher nur während seiner definierten Lebensdauer zugegriffen wird. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_014.jpg\|300]] | Wertetypen sind Typen, bei denen eine Kopie völlig unabhängig vom Original ist. Die Folie gibt ein Beispiel, wie Änderungen an einer Liste von Namen nur die ursprüngliche Liste beeinflussen, nicht aber deren Kopie. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_015.jpg\|300]] | Strukturen und Enums können Wertetypen zusammensetzen. Strukturen aggregieren Wertetypen, während Enums eine Wahl zwischen Werten bieten. Beide bleiben Wertetypen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_016.jpg\|300]] | Die Folie beschreibt die explizite Übergabe von Werten durch Referenz mit `inout`-Parametern in Swift, um sicherzustellen, dass die Daten mutierbar sind. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_017.jpg\|300]] | Swift stellt sicher, dass ein `inout`-Parameter einen Wert eindeutig referenziert, um Aliasbildung zu verhindern. Die Folie gibt ein Beispiel für die Funktion `swap`, die keine überlappenden Zugriffe zulässt. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_018.jpg\|300]] | Objektorientierte Programmierung in Swift ermöglicht es, Klassen zu definieren, die von anderen Klassen erben. Die Folie zeigt ein Beispiel für eine `Person`-Klasse mit einer `checkConsistency`-Methode. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_019.jpg\|300]] | Automatische Referenzzählung bietet Lebensdauer-Sicherheit mit wenig Aufwand. Die Implementierung bietet Vorteile gegenüber herkömmlichen Garbage-Collectoren, wie Determinismus und kleine Laufzeit. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_020.jpg\|300]] | Referenzzyklen können in zyklischen Datenstrukturen auftreten. Swift bietet keinen Zyklensammler, was bedeutet, dass Entwickler manuell schwache Referenzen verwenden müssen, um Zyklen zu brechen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_021.jpg\|300]] | Schwache Referenzen können verwendet werden, um Referenzzyklen zu brechen. Die Folie zeigt, wie eine schwache Referenz zu einem Delegierten gemacht wird, um zu verhindern, dass das Objekt verschwindet. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_022.jpg\|300]] | Die Folie beschreibt die Grenzsicherheit in Swift, bei der Sammlungen beim Zugriff auf Indizes überprüft werden. Arithmetische Operationen werden bei Überlauf abgefangen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_023.jpg\|300]] | Typensicherheit in Swift wird durch Laufzeitprüfungen bei Typumwandlungen gewährleistet. Enums nutzen sichere Zugriffsmuster, um sicherzustellen, dass nur gültige Fälle behandelt werden. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_024.jpg\|300]] | Initialisierungssicherheit erfordert, dass eine Variable vor ihrer Verwendung initialisiert wird. Die Folie gibt ein Beispiel, bei dem eine nicht initialisierte Variable zu einem Kompilierungsfehler führt. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_025.jpg\|300]] | Diese Folie behandelt die Thread-Sicherheit und wie Swift dazu beiträgt, Datenrennen zu vermeiden, die andere Sicherheitsgarantien gefährden könnten. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_026.jpg\|300]] | Geteilte veränderbare Zustände sind die Ursache für Datenrennen. Strategien zur Vermeidung umfassen die Immutabilität, das Nicht-Teilen und die exklusive Kontrolle über Schreibzugriffe. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_027.jpg\|300]] | Wertetypen sind ideal für die Nebenläufigkeit, da jede Kopie eines Wertes völlig unabhängig vom Original ist. Sie können in einem nebenläufigen System frei geteilt werden. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_028.jpg\|300]] | Aktoren in Swift schützen ihren geteilten veränderbaren Zustand. Die Folie zeigt ein Beispiel für ein `BankAccount`, bei dem der Zugriff über die implizite Warteschlange des Aktors erfolgt. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_029.jpg\|300]] | Die Folie stellt die Idee in Frage, einfach alles in einer neuen Sprache zu schreiben, und hebt die Herausforderungen hervor, die mit solch einem Ansatz verbunden sind. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_030.jpg\|300]] | Technische Hürden bei der Umstellung auf eine neue Sprache umfassen das Risiko der zweiten Systemwirkung und die Notwendigkeit, die alte Version weiterhin zu pflegen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_031.jpg\|300]] | Soziale Hürden bei der Einführung einer neuen Sprache umfassen das Gefühl von Teammitgliedern, die nicht beteiligt sind, zurückgelassen zu werden, sowie Bedenken und Ambivalenz gegenüber der neuen Sprache. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_032.jpg\|300]] | Die Folie betont die Wichtigkeit, Silos zu vermeiden, wenn man eine neue Sprache in bestehende Systeme einführt, um eine breitere Akzeptanz zu fördern. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_033.jpg\|300]] | Ein inkrementeller Ansatz wird empfohlen, um die erste Zeile memory-sicheren Codes in ein Projekt zu integrieren. Neue Codes sollten in der neuen Sprache geschrieben werden, um die gesamte Teamintegration zu fördern. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_034.jpg\|300]] | Diese Folie behandelt die Sprachinteroperabilität und wie Swift die Einbettung eines C(++)-Compilers ermöglicht, um die Interoperabilität zu erleichtern. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_035.jpg\|300]] | Swift bietet integrierte Unterstützung für die Interoperabilität mit C, indem C-Header direkt in Swift importiert und aus Swift exportiert werden können. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_036.jpg\|300]] | Die Folie zeigt POSIX-Funktionen in C, die als Beispiel für die Interoperabilität mit Swift dienen, indem sie in Swift übersetzt werden. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_037.jpg\|300]] | POSIX-Funktionen werden in Swift als Funktionen dargestellt, die die gleichen Operationen wie in C ausführen, jedoch in Swift-Syntax. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_038.jpg\|300]] | Die Folie zeigt, wie CoreGraphics in C mit Typdefinitionen und Funktionen dargestellt wird, die in Swift als Klassen und Methoden übersetzt werden. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_039.jpg\|300]] | CoreGraphics in Swift wird als Klasse mit Initialisierern und Eigenschaften dargestellt, die die Nutzung von CoreGraphics-APIs in Swift erleichtern. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_040.jpg\|300]] | Die Interoperabilität mit C++ wird durch die automatische Zuordnung von C++-Konventionen zu entsprechenden Swift-Konstrukten erleichtert, um eine nahtlose Integration zu ermöglichen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_041.jpg\|300]] | Diese Folie behandelt die Build-Interoperabilität und wie Swift in bestehende Build-Systeme integriert werden kann, um die Einführung zu erleichtern. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_042.jpg\|300]] | Swift begann mit einem einzigen Build-System, das es ermöglichte, eine Swift-Quelldatei zu einem bestehenden Projekt hinzuzufügen, ohne dass eine umfangreiche Konfiguration erforderlich war. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_043.jpg\|300]] | Sprachspezifische Paketmanager sind großartig für einen schnellen Einstieg, ermöglichen das Klonen von Repositories und das Ausführen von Build-Befehlen, um C-Bibliotheken in Swift zu integrieren. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_044.jpg\|300]] | Paketmanager schaffen jedoch Silos, da ein C(++)-Code nicht Ihren sprachspezifischen Paketmanager verwendet und niemand sein Build-System umstellen möchte. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_045.jpg\|300]] | Die Folie beschreibt die Unterstützung von Swift in CMake, einem weit verbreiteten plattformübergreifenden Build-Tool, um die Interoperabilität zu verbessern. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_046.jpg\|300]] | Diese Folie behandelt das Thema der memory-sicheren Interoperabilität und wie die Sicherheit an Sprachgrenzen aufrechterhalten werden kann. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_047.jpg\|300]] | Die Folie widerlegt die Vorstellung, dass C(++)-Code grundsätzlich unsicher ist, und hebt die Möglichkeit hervor, sichere Interoperabilität zu erreichen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_048.jpg\|300]] | Diese Folie bietet keine spezifischen Inhalte, sondern dient als Übergang zu den nächsten Themen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_049.jpg\|300]] | Sichere Sprachinteroperabilität erfordert die Etablierung von Sicherheitskonventionen an Sprachgrenzen und die Weiterentwicklung von C und C++ zur besseren Ausdrucksweise von Sicherheitskonventionen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_050.jpg\|300]] | Grenzsicherheit in C wird durch die Angabe von Zeigergrenzeninformationen in separaten Parametern erreicht, die in memory-sicheren Sprachen unsicher ausgedrückt werden müssen. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_051.jpg\|300]] | Die Folie beschreibt, wie C-Funktionen Zeigergrenzeninformationen in separaten Parametern tragen und wie memory-sichere Sprachen diese Konventionen ehren können. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_052.jpg\|300]] | Die Folie zeigt, wie C-Funktionen Zeigergrenzeninformationen in separaten Parametern tragen und wie Swift diese Konventionen durch die Verwendung von `UnsafeBufferPointer` ehren kann. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_053.jpg\|300]] | Automatische Referenzzählung bietet Lebensdauer-Sicherheit für GNOMEs GVariant-Typ, der Referenzzählung verwendet, um die Lebensdauer von Objekten zu verwalten. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_054.jpg\|300]] | Die Folie beschreibt, wie GNOMEs GVariant-Typ Referenzzählung verwendet, um die Lebensdauer von Objekten zu verwalten, und wie Swift dies durch Annotationen unterstützt. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_055.jpg\|300]] | Die Folie beschreibt, wie GNOMEs GVariant-Typ Referenzzählung verwendet und wie Swift Annotationen verwendet, um die Lebensdauer-Sicherheit zu gewährleisten. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_056.jpg\|300]] | Die Dokumentation von Referenzzählungskonventionen macht sie in Swift sicher. Zusätzliche Annotationen bieten ergonomische Verbesserungen für die Nutzung in Swift. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_057.jpg\|300]] | Die Dokumentation von Referenzzählungskonventionen macht sie in Swift sicher. Zusätzliche Annotationen bieten ergonomische Verbesserungen für die Nutzung in Swift. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_058.jpg\|300]] | Clang bietet zusätzliche Annotationen zur Lebensdauer, wie `noescape` und `lifetime_bound`, die in C und C++ durch statische Analyse überprüft werden können. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_059.jpg\|300]] | C-Funktionen tragen oft Zeigergrenzeninformationen in separaten Parametern. Memory-sichere Sprachen können dies unsicher ausdrücken, aber mit Annotationen sicherer gestalten. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_060.jpg\|300]] | API-Notizen beschreiben Konventionen von C-APIs, um die sichere Nutzung in Swift zu ermöglichen, auch wenn C-Header nicht geändert werden können. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_061.jpg\|300]] | Sichere Interoperabilität erfordert die Kodifizierung von Konventionen im C(++)-Quellcode. Die Zusammenarbeit zwischen C(++) und memory-sicheren Sprachen ist entscheidend. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_062.jpg\|300]] | Die Folie betont die Bedeutung der schrittweisen Einführung von Memory-Sicherheit, der Vermeidung von Silos und der Zusammenarbeit über Sprachgrenzen hinweg. | | | ![[FOSDEM 2025/assets/Incremental-Memory-Safety-in-an-Established-Softwa/preview_063.jpg\|300]] | Swift-Ressourcen sind auf Swift.org verfügbar, und es gibt eine Swift-Session auf der FOSDEM '25, die Themen wie eingebettetes Swift und Java-Interoperabilität behandelt. | | ## Links [Video recording (AV1/WebM) - 121.0 MB](https://video.fosdem.org/2025/k1105/fosdem-2025-6176-incremental-memory-safety-in-an-established-software-stack-lessons-learned-from-swift.av1.webm) [Video recording (MP4) - 1.1 GB](https://video.fosdem.org/2025/k1105/fosdem-2025-6176-incremental-memory-safety-in-an-established-software-stack-lessons-learned-from-swift.av1.mp4) [Video recording subtitle file (VTT)](https://video.fosdem.org/2025/k1105/fosdem-2025-6176-incremental-memory-safety-in-an-established-software-stack-lessons-learned-from-swift.vtt) [Slides](https://fosdem.org/2025/events/attachments/fosdem-2025-6176-incremental-memory-safety-in-an-established-software-stack-lessons-learned-from-swift/slides/237906/Increment_p8SfvGp.pdf) [Chat room(web)](https://fosdem.org/2025/chatroom/web) [Chat room(app)](https://fosdem.org/2025/chatroom/app)