Usable formal methods - are we there yet?

Share this & earn $10
Linux.conf.au 2016 -- Geelong, Australia
Published at : 02 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

"Numbers Counting to 10 Collection Vol. 1" - Kids Learn to Count, Baby Toddler Songs, Nursery Rhymes

"Numbers Counting to 10 Collection Vol. 1" - Kids Learn to Count, Baby Toddler Songs, Nursery Rhymes

Upgrading ALL of my farming tools for the FINAL TIME! - Hypixel Skyblock

Upgrading ALL of my farming tools for the FINAL TIME! - Hypixel Skyblock

The Waterboys - The Whole Of The Moon (HQ)

The Waterboys - The Whole Of The Moon (HQ)

GCSE Science Revision Biology "Diffusion"

GCSE Science Revision Biology "Diffusion"

四色實物在手﹗Apple iPad mini 2021買定唔買?全新入門iPad 返學首選|A15降頻?|手感、跑分、聲畫效果評價|粉紅、紫、星光、太空灰|廣東話【Price.com.hk產品比較】

四色實物在手﹗Apple iPad mini 2021買定唔買?全新入門iPad 返學首選|A15降頻?|手感、跑分、聲畫效果評價|粉紅、紫、星光、太空灰|廣東話【Price.com.hk產品比較】

COACH OUTLET SALE HANDBAGS | SHOP WITH ME

COACH OUTLET SALE HANDBAGS | SHOP WITH ME

19 Weird but Useful Ways to Travel in Minecraft

19 Weird but Useful Ways to Travel in Minecraft

It's the Month of May | Calendar Song for Kids | Jack Hartmann

It's the Month of May | Calendar Song for Kids | Jack Hartmann

History of Hulkling

History of Hulkling

Pillow Cover from old T-shirt. Waste material are useful turns in homemade SCHWIFTY.

Pillow Cover from old T-shirt. Waste material are useful turns in homemade SCHWIFTY.

R3HAB x A Touch Of Class - All Around The World (La La La) (Official Video)

R3HAB x A Touch Of Class - All Around The World (La La La) (Official Video)

Abnormal

Abnormal

Madeleine Merritt makes an attempt at stop motion

Madeleine Merritt makes an attempt at stop motion

Playing Back 4 Blood Available Now on Xbox Game Pass w/ My Girlfriend and Exoph!

Playing Back 4 Blood Available Now on Xbox Game Pass w/ My Girlfriend and Exoph!

The Purpose of Shielding

The Purpose of Shielding

Calvin Harris - This Is What You Came For (Official Video) ft. Rihanna

Calvin Harris - This Is What You Came For (Official Video) ft. Rihanna

M.A.N.D.Y. feat. Red Eye -  Rhythm & Soul (Rework)

M.A.N.D.Y. feat. Red Eye - Rhythm & Soul (Rework)

Who is Freestyle - Choose From The 3 (Official Video)

Who is Freestyle - Choose From The 3 (Official Video)

I Actually Get Birthday LUCK?! - EZ Nat 5's w/ LUCKymadman

I Actually Get Birthday LUCK?! - EZ Nat 5's w/ LUCKymadman

The Beatles - While My Guitar Gently Weeps

The Beatles - While My Guitar Gently Weeps

wewantwraiths - Question Us (Official Video)

wewantwraiths - Question Us (Official Video)

IN SPITE OF | DESPITE | ALTHOUGH | EVEN THOUGH | THOUGH - improve your grammar

IN SPITE OF | DESPITE | ALTHOUGH | EVEN THOUGH | THOUGH - improve your grammar

Inflation Is Starting To Get Really Crazy... And It Is Worse Than You Think

Inflation Is Starting To Get Really Crazy... And It Is Worse Than You Think

Success with an Expansion Bit

Success with an Expansion Bit

Help Me To Recollect.

Help Me To Recollect.

SURPRISED HIM W/ VEGAS ONE DAY BEFORE HIS 21ST BDAY **PRANK**

SURPRISED HIM W/ VEGAS ONE DAY BEFORE HIS 21ST BDAY **PRANK**

INTERVALS | Impulsively Responsible - Play Through | NEW ALBUM OUT NOW

INTERVALS | Impulsively Responsible - Play Through | NEW ALBUM OUT NOW

girl by immaculate with lyrics

girl by immaculate with lyrics

AS IT IS - Often [Acoustic Video]

AS IT IS - Often [Acoustic Video]

Sia - Cheap Thrills (Performance Edit)

Sia - Cheap Thrills (Performance Edit)

The Pussycat Dolls - Stickwitu (Official Music Video) ft. Avant

The Pussycat Dolls - Stickwitu (Official Music Video) ft. Avant

Hazy - Expand

Hazy - Expand

Best iPhone 13/13 Pro Accessories - 2021

Best iPhone 13/13 Pro Accessories - 2021

BALDI FINALLY GAVE US THE CORRECT ANSWER TO THE FINAL QUESTION?! | Baldi's Basics (Easy Mod)

BALDI FINALLY GAVE US THE CORRECT ANSWER TO THE FINAL QUESTION?! | Baldi's Basics (Easy Mod)

Stitch | GBB2021: World League Solo Wildcard | Feels Like Nothing (Winner)

Stitch | GBB2021: World League Solo Wildcard | Feels Like Nothing (Winner)

why i sold (almost) all my ethereum.

why i sold (almost) all my ethereum.

HOLISTIC HEALTH - DOCTOR ENDORSED - IT'S THE REAL DEAL FOR YOUR SUPER HEALTH - CLUBSPARKLEMN.COM

HOLISTIC HEALTH - DOCTOR ENDORSED - IT'S THE REAL DEAL FOR YOUR SUPER HEALTH - CLUBSPARKLEMN.COM

One Direction - Spaces (Audio)

One Direction - Spaces (Audio)

Creed - Higher (Official Video)

Creed - Higher (Official Video)

Repetitive and Physical 90 Years of Durability Testing - GM Milford Proving Ground

Repetitive and Physical 90 Years of Durability Testing - GM Milford Proving Ground

50 Cooking Tips With Gordon Ramsay | Part One

50 Cooking Tips With Gordon Ramsay | Part One

The Women - Great Performances

The Women - Great Performances

Why is wisdom referred to as a she in Proverbs? | GotQuestions.org

Why is wisdom referred to as a she in Proverbs? | GotQuestions.org

Britney Spears - Overprotected

Britney Spears - Overprotected

Vintage Café Dinner Time Series - Lounge Music 2020

Vintage Café Dinner Time Series - Lounge Music 2020

Sean Kingston, Justin Bieber - Eenie Meenie (Lyrics)

Sean Kingston, Justin Bieber - Eenie Meenie (Lyrics)

Brilliant Outdoor Hacks And DIY Ideas

Brilliant Outdoor Hacks And DIY Ideas

Python Tutorial: Slicing Lists and Strings

Python Tutorial: Slicing Lists and Strings

Claude Debussy ‒  Images (Complete)

Claude Debussy ‒ Images (Complete)