Usable formal methods - are we there yet?

Share
Linux.conf.au 2016 -- Geelong, Australia
Published at : 12 Oct 2021
1209 views
13
1

Stefan Götz
https://linux.conf.au/schedule/30141/view_talk
Creating safe and secure software is hard, and counter-intuitively even harder in tiny embedded devices - devices that drive you, fly you, inject you with medicine, or keep your heart beating.



We present how we have prevented bugs in embedded systems with open-source tools for formal methods. The big advantage of formal methods is that they can intercept bugs before code is built or run. Therefore, they avoid the difficulties of the classic approaches: testing, run-time checking, or re-using standard code.



Our experience is based on static analysis with splint and model checking with CBMC for the eChronos real-time operating system. Safety-critical applications, such as UAV research and commercial medical devices rely on eChronos as their core OS. The formal methods tools are part of our development process and Continuous Integration system, so they help find bugs both in the OS itself and in the application code.



This presentation shows how we apply splint and CBMC to real-world code and the practical lessons we have learned in the process. This includes:

- a brief overview of the fundamental strengths and weaknesses of each approach and tool

- the bugs we have found and the classes of bugs the tools prevent

- how to apply the tools to a code base in practice, what is needed to support the tools, and how to maintain that support

- the scalability and some limitations and bugs of the tools themselves, and where theory and practice do not line up

- how such tools and formal methods in general can influence software design (which is usually to the better)



Overall, formal methods have matured to be practical and valuable for real-world code in a real-world development process. The available open-source tools may require a design or code tweak here or there, but are well past purely academic relevance.

lcalca2016StefanGötz

Only If

Only If

Dark Souls - Ceasless Discharge Guide - First Time and After Dying

Dark Souls - Ceasless Discharge Guide - First Time and After Dying

The results @howtobarber

The results @howtobarber

COURAGE'S BEST OF 2021 (FUNNIEST MOMENTS)

COURAGE'S BEST OF 2021 (FUNNIEST MOMENTS)

A Rotom Form for Every Type! | Gnoggin | Kaskade Region

A Rotom Form for Every Type! | Gnoggin | Kaskade Region

Seeing offers for pets and checking out the new sing to update!

Seeing offers for pets and checking out the new sing to update!

Revealing our New House 3D Design | Family Fizz

Revealing our New House 3D Design | Family Fizz

Nigel Farage: How many people in the British Muslim community have been radicalised?

Nigel Farage: How many people in the British Muslim community have been radicalised?

Best of Modified Cars 2021

Best of Modified Cars 2021

The Tub People (by Pam Conrad)

The Tub People (by Pam Conrad)

Πως να παίξεις ΚΑΖΙΝΟ στο GTA Online?!

Πως να παίξεις ΚΑΖΙΝΟ στο GTA Online?!

Another Electric Opener! | Oval Invincibles vs Manchester Originals - Highlights | The Hundred 2021

Another Electric Opener! | Oval Invincibles vs Manchester Originals - Highlights | The Hundred 2021

TOP 5 INVESTMENTS FOR 2022 (GET IN NOW)

TOP 5 INVESTMENTS FOR 2022 (GET IN NOW)

How to create an outline in Cricut Design Space

How to create an outline in Cricut Design Space

Awkward moments || When you are doing an online interview from home 😳 #shorts

Awkward moments || When you are doing an online interview from home 😳 #shorts

A quick turn of events…

A quick turn of events…

The Reason Why Rappers Fake Their Beefs × Truth Talk Podcast

The Reason Why Rappers Fake Their Beefs × Truth Talk Podcast

Granny Thief MissT's House - Good Tani Rescue Nick and MissT - Scary Teacher 3D | BuzzStar

Granny Thief MissT's House - Good Tani Rescue Nick and MissT - Scary Teacher 3D | BuzzStar

ANOTHER HALLOWEEN UPDATE! TRIPLE MONEY & DISCOUNTS | GTA Online Weekly Update

ANOTHER HALLOWEEN UPDATE! TRIPLE MONEY & DISCOUNTS | GTA Online Weekly Update

determinants in hindi | maths determinants tutorials | diploma maths 1 in hindi

determinants in hindi | maths determinants tutorials | diploma maths 1 in hindi

LECADE ft. Rarin - Blue Balenciagas

LECADE ft. Rarin - Blue Balenciagas

Your Company

Your Company

Puntillismo de Arrastre Poseidón Black and grey TATTOO / 3rl Needle / Whipshading TATUAJE 💉💉

Puntillismo de Arrastre Poseidón Black and grey TATTOO / 3rl Needle / Whipshading TATUAJE 💉💉

Self-Organization: The Secret Sauce for Improving your Scrum team

Self-Organization: The Secret Sauce for Improving your Scrum team

🥰 New Gadgets & Versatile Utensils For Home # 387🏠Appliances, Make Up, Smart Home, New Home Items

🥰 New Gadgets & Versatile Utensils For Home # 387🏠Appliances, Make Up, Smart Home, New Home Items

Scott’s RADKO  and assorted brand collection 2021

Scott’s RADKO and assorted brand collection 2021

Create a duplicate activity easy

Create a duplicate activity easy

HC - SHOW PARTICULAR

HC - SHOW PARTICULAR

Ethereum Set To Explode! - Here's Why!

Ethereum Set To Explode! - Here's Why!

Is digital marketing as insidious as other forms of pharma marketing?

Is digital marketing as insidious as other forms of pharma marketing?

Claydee - Detente (Official Music Video)

Claydee - Detente (Official Music Video)

Ryan Martin: False confidence, imprecise probabilities, and valid statistical inference

Ryan Martin: False confidence, imprecise probabilities, and valid statistical inference

Fat Street Boys | King and the Sting w/ Theo Von & Brendan Schaub #143

Fat Street Boys | King and the Sting w/ Theo Von & Brendan Schaub #143

Tom MacDonald - "America"

Tom MacDonald - "America"

8 Driving Tips to Drive in Fog, Rain, or a Storm

8 Driving Tips to Drive in Fog, Rain, or a Storm

ASMR Special Agent. Pulling Spy Bugs Out Of Your Hair

ASMR Special Agent. Pulling Spy Bugs Out Of Your Hair

WHAT IF NARUTO WENT BACK IN TIME TO THE NINJA ACADEMY. WHAT IF NARUTO WAS EVIL NINJA- PART 4

WHAT IF NARUTO WENT BACK IN TIME TO THE NINJA ACADEMY. WHAT IF NARUTO WAS EVIL NINJA- PART 4

Girl Is Called Plain Looking, But Is Actually The Hottest Girl Who Likes Me A Lot(Comic Dub | Manga)

Girl Is Called Plain Looking, But Is Actually The Hottest Girl Who Likes Me A Lot(Comic Dub | Manga)

Who should be Newcastle's next manager? | Saturday Social feat Goldbridge & Rambo

Who should be Newcastle's next manager? | Saturday Social feat Goldbridge & Rambo

🔴 Relaxing Music 24/7, Stress Relief Music, Sleep Music, Meditation Music, Study, Calming Music

🔴 Relaxing Music 24/7, Stress Relief Music, Sleep Music, Meditation Music, Study, Calming Music

Ryan's 6th Birthday Party! First Cell Phone Surprise and Opening with Princess T

Ryan's 6th Birthday Party! First Cell Phone Surprise and Opening with Princess T

Ανεμβολίαστοι κάνουν μόνοι τους rapid test έξω από φαρμακείο στο Ηράκλειο της Κρήτης

Ανεμβολίαστοι κάνουν μόνοι τους rapid test έξω από φαρμακείο στο Ηράκλειο της Κρήτης

This Could Be Us

This Could Be Us

Armia Nowego Wzoru - 11h relacji Radia Wnet i Strategy and Future Jacka Bartosiaka!

Armia Nowego Wzoru - 11h relacji Radia Wnet i Strategy and Future Jacka Bartosiaka!

Wild Fishing : Use Big Capacity Pump Drain The Water, Catch Many Of Fish In The Lake Abandoned

Wild Fishing : Use Big Capacity Pump Drain The Water, Catch Many Of Fish In The Lake Abandoned

Gifted

Gifted

China's Huawei revenues collapse nearly a third as it peddles against US sanctions

China's Huawei revenues collapse nearly a third as it peddles against US sanctions

Marvin Sease - I Gotta Clean Up

Marvin Sease - I Gotta Clean Up

Dario D'Attis Feat. Lisa Shaw - All Over Again (Rocco Deep Mix)

Dario D'Attis Feat. Lisa Shaw - All Over Again (Rocco Deep Mix)