SlideShare a Scribd company logo
1 of 12
Download to read offline
FYR:
a memory-safe and thread-safe
systems programming
language
Authors :
1. Torben Weis
2. Marian Waltereit
3. Maximilian Uphoff
This slide presentation
Is created by :
Mina Tafreshi
Email :
info.minatafreshi@gmail.com
Selling your idea
What is FYR?
● Open source systems programming language
● combines the versatility of C with the ease and safety of application
programming languages like Java, Go or TypeScript.
● can be used for low-level hardware-oriented programming and high-level
application programming.
● In contrast to C, the Fyr compiler guarantees memory safety and thread
safety at compilation time.
● Fyr is designed to implement all tiers of distributed IoT applications, i.e.
Problems / Solutions :
1. C provides little safety guarantees, resulting
in unstable software.
2. Python or JS can’t fully replace C in area of
IoT devices.
3. Rust’s memory safety is checked at
compile-time thats only for tree-shaped data
structures.
1. fyr serves the same as C but with memory
safety, thread safety and modern high level
concepts.
2. Fyr can eighter generate assembly code
directly or generate C code.
3. In fyr compiler handles this automatically at
the potential cost of some unnecessary
runtime checks.
1. What is
memory-safe?
Memory safety is the
state of being protected
from various software
bugs and security
vulnerabilities when
dealing with memory
access.
Access errors: invalid read/write of a
pointer
1. Buffer over-read
2. Buffer overflow
3. Race condition
4. Invalid page fault
5. Use after free
Memory leak — when memory usage is
not tracked or tracked incorrectly.
1. Stack exhaustion
2. Heap exhaustion
3. Double free
1. What is
thread-safe?
Thread safety is a computer
programming concept
applicable to
multi-threaded code. They
only manipulates shared
data structures in a manner
that ensures that all
threads behave properly
and fulfill their design
specifications without
unintended interaction.
Stack vs Heap:
Fyr HEAP memory model!
● Fyr allocate variables on stack or heap depending on the type.
● In fyr pointers are owning pointers. If they go out of
scope or another pointers is assigned, the pointers frees
its destination object.
Fyr STACK memory model!
● The lifetime of stack variables is determined by their lexical scoping
● Fyr allows for references on stack-based objects.
● The compiler guarantees that none of these references
Live longer than the stack variables.
● In addition, fyr has local references, which only be used as
Types passed to functions.
Local references cannot be used in other data structures.
You can read sources
from github repo!
Check this link out :D
https://github.com/vs-ude/fyr
Question?He loved
soccer, but feared he had no way
to talk to a coach or teammates.
Thanks for your TIME :)

More Related Content

Similar to FYR presentation

2023-02-22_Tiberti_CyberX.pdf
2023-02-22_Tiberti_CyberX.pdf2023-02-22_Tiberti_CyberX.pdf
2023-02-22_Tiberti_CyberX.pdf
cifoxo
 

Similar to FYR presentation (20)

BUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and ApproachesBUD17-104: Scripting Languages in IoT: Challenges and Approaches
BUD17-104: Scripting Languages in IoT: Challenges and Approaches
 
Building custom kernels for IPython
Building custom kernels for IPythonBuilding custom kernels for IPython
Building custom kernels for IPython
 
Advanced Arm Exploitation
Advanced Arm ExploitationAdvanced Arm Exploitation
Advanced Arm Exploitation
 
2023-02-22_Tiberti_CyberX.pdf
2023-02-22_Tiberti_CyberX.pdf2023-02-22_Tiberti_CyberX.pdf
2023-02-22_Tiberti_CyberX.pdf
 
Non-Blocking Strategies for FFI
 Non-Blocking Strategies for FFI Non-Blocking Strategies for FFI
Non-Blocking Strategies for FFI
 
Python_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptxPython_Introduction_Good_PPT.pptx
Python_Introduction_Good_PPT.pptx
 
CSC098 Storage Note
CSC098 Storage NoteCSC098 Storage Note
CSC098 Storage Note
 
Python Applications by The Knowledge Academy.docx
Python Applications by The Knowledge Academy.docxPython Applications by The Knowledge Academy.docx
Python Applications by The Knowledge Academy.docx
 
Introduction to python lecture (1)
Introduction to python lecture (1)Introduction to python lecture (1)
Introduction to python lecture (1)
 
nullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexitiesnullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexities
 
Unit1
Unit1Unit1
Unit1
 
Unit1
Unit1Unit1
Unit1
 
Mmp hotos2003-slides
Mmp hotos2003-slidesMmp hotos2003-slides
Mmp hotos2003-slides
 
C- language Lecture 8
C- language Lecture 8C- language Lecture 8
C- language Lecture 8
 
Understanding Character Encodings
Understanding Character EncodingsUnderstanding Character Encodings
Understanding Character Encodings
 
Pulumi. Modern Infrastructure as Code.
Pulumi. Modern Infrastructure as Code.Pulumi. Modern Infrastructure as Code.
Pulumi. Modern Infrastructure as Code.
 
Introduction to Python Programming
Introduction to Python ProgrammingIntroduction to Python Programming
Introduction to Python Programming
 
Unit5
Unit5Unit5
Unit5
 
Firmware analysis 101
Firmware analysis 101Firmware analysis 101
Firmware analysis 101
 
Parallelization using open mp
Parallelization using open mpParallelization using open mp
Parallelization using open mp
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 

FYR presentation

  • 1. FYR: a memory-safe and thread-safe systems programming language Authors : 1. Torben Weis 2. Marian Waltereit 3. Maximilian Uphoff
  • 2. This slide presentation Is created by : Mina Tafreshi Email : info.minatafreshi@gmail.com
  • 3. Selling your idea What is FYR? ● Open source systems programming language ● combines the versatility of C with the ease and safety of application programming languages like Java, Go or TypeScript. ● can be used for low-level hardware-oriented programming and high-level application programming. ● In contrast to C, the Fyr compiler guarantees memory safety and thread safety at compilation time. ● Fyr is designed to implement all tiers of distributed IoT applications, i.e.
  • 4. Problems / Solutions : 1. C provides little safety guarantees, resulting in unstable software. 2. Python or JS can’t fully replace C in area of IoT devices. 3. Rust’s memory safety is checked at compile-time thats only for tree-shaped data structures. 1. fyr serves the same as C but with memory safety, thread safety and modern high level concepts. 2. Fyr can eighter generate assembly code directly or generate C code. 3. In fyr compiler handles this automatically at the potential cost of some unnecessary runtime checks.
  • 5. 1. What is memory-safe? Memory safety is the state of being protected from various software bugs and security vulnerabilities when dealing with memory access. Access errors: invalid read/write of a pointer 1. Buffer over-read 2. Buffer overflow 3. Race condition 4. Invalid page fault 5. Use after free Memory leak — when memory usage is not tracked or tracked incorrectly. 1. Stack exhaustion 2. Heap exhaustion 3. Double free
  • 6. 1. What is thread-safe? Thread safety is a computer programming concept applicable to multi-threaded code. They only manipulates shared data structures in a manner that ensures that all threads behave properly and fulfill their design specifications without unintended interaction.
  • 8. Fyr HEAP memory model! ● Fyr allocate variables on stack or heap depending on the type. ● In fyr pointers are owning pointers. If they go out of scope or another pointers is assigned, the pointers frees its destination object.
  • 9. Fyr STACK memory model! ● The lifetime of stack variables is determined by their lexical scoping ● Fyr allows for references on stack-based objects. ● The compiler guarantees that none of these references Live longer than the stack variables. ● In addition, fyr has local references, which only be used as Types passed to functions. Local references cannot be used in other data structures.
  • 10. You can read sources from github repo! Check this link out :D https://github.com/vs-ude/fyr
  • 11. Question?He loved soccer, but feared he had no way to talk to a coach or teammates.
  • 12. Thanks for your TIME :)