Загрузка страницы

Purging Undefined Behavior & Intel Assumptions in a Legacy C++ Codebase - Roth Michaels CppCon 2022

https://cppcon.org/
---

Case Study: Purging Undefined Behavior and Intel Assumptions in a Legacy C++ Codebase - Roth Michaels - CppCon 2022
https://github.com/CppCon/CppCon2022

For large C++ codebases, adding support for a new platform (e.g. Apple Silicon/ARM) can be a scary, expensive endeavor. One of the biggest causes for alarm is undefined behavior (UB), which is an unfortunate part of many legacy codebases; luckily there are tools to help. After a brief review of what undefined behavior (UB) is we will discuss what issues it can cause and why it should be avoided. We will look at a few real-life bugs caused by UB in our codebase and discuss a common type of UB in legacy codebases: "it works on Intel". We’ll discuss how eliminating undefined behavior from a cross platform codebase can reduce maintenance costs and make it less stressful to support new platforms for your codebase. Then, we’ll go over the specific cultural and tooling initiatives we used to eliminate undefined behavior in our C++ codebase, including how we used static analysis and clang sanitizers to identify and address issues.
---

Roth Michaels

Roth Michaels is a Principal Software Engineer at iZotope/Soundwide, an industry leader in real-time audio software for music production and broadcast/film post-production. In his current role on the Audio Research Team at iZotope's parent company, Soundwide, he is focused on developing new fast prototyping frameworks. When he joined iZotope, Roth was the lead library designer of a new internal cross-platform "Glass", part of which is now available as open-source. More recently in his former role as Mix/Master Software Architect, Roth helped develop the reference implementation to move iZotope's products to subscription and led the team that launched the company’s first SaaS offering for music producers. Roth studied music composition at Brandeis University and continued his studies in the Dartmouth Digital Musics program. Roth began his career in software development writing software for his own compositions, and the works of other composers and artists, and teaching MaxMSP to composers and musicians; both private instruction and designing university courses. Before joining iZotope, he was working as a consultant for small startups working on mobile applications specializing in location services and Bluetooth.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk
#cppcon #programming #code

Видео Purging Undefined Behavior & Intel Assumptions in a Legacy C++ Codebase - Roth Michaels CppCon 2022 канала CppCon
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
25 ноября 2022 г. 19:00:10
01:02:35
Другие видео канала
CppCon 2016: Casey Carter “Iterator Haiku"CppCon 2016: Casey Carter “Iterator Haiku"Leaving No Input Unsanitized - Gabriel Aubut-Lussier - CppCon 2019Leaving No Input Unsanitized - Gabriel Aubut-Lussier - CppCon 2019Catch ⬆️: Unicode for C++23 - JeanHeyd Meneide - CppCon 2019Catch ⬆️: Unicode for C++23 - JeanHeyd Meneide - CppCon 2019CppCon 2017: Teresa Johnson “ThinLTO: Scalable and Incremental Link-Time Optimization”CppCon 2017: Teresa Johnson “ThinLTO: Scalable and Incremental Link-Time Optimization”CppCon 2015: Pablo Halpern “Work Stealing"CppCon 2015: Pablo Halpern “Work Stealing"CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon 2018: Valentin Galea “Rapid Prototyping of Graphics Shaders in Modern C++”CppCon 2018: Valentin Galea “Rapid Prototyping of Graphics Shaders in Modern C++”Symbolic Calculus for High-performance Computing From Scratch Using C++23 - Vincent Reverdy - CppConSymbolic Calculus for High-performance Computing From Scratch Using C++23 - Vincent Reverdy - CppConCppCon 2019: Emery Berger “Mesh: Automatically Compacting Your C++ Application's Memory”CppCon 2019: Emery Berger “Mesh: Automatically Compacting Your C++ Application's Memory”CppCon 2019: David Olsen “Faster Code Through Parallelism on CPUs and GPUs”CppCon 2019: David Olsen “Faster Code Through Parallelism on CPUs and GPUs”LLVM Optimization Remarks - Ofek Shilon - CppCon 2022LLVM Optimization Remarks - Ofek Shilon - CppCon 2022Modern C++: C++ Patterns to Make Embedded Programming More Productive - Steve Bush - CppCon 2022Modern C++: C++ Patterns to Make Embedded Programming More Productive - Steve Bush - CppCon 2022CppCon 2019: Ben Saks “Back to Basics: Exception Handling and Exception Safety”CppCon 2019: Ben Saks “Back to Basics: Exception Handling and Exception Safety”Back to Basics:  RAII in C++ - Andre Kostur - CppCon 2022Back to Basics: RAII in C++ - Andre Kostur - CppCon 2022CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()”CppCon 2018: Matt Godbolt “The Bits Between the Bits: How We Get to main()”CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”CppCon 2019: Matt Godbolt “Compiler Explorer: Behind The Scenes”CppCon 2018: JeanHeyd Meneide “Scripting at the Speed of Thought: Lua and C++ with sol3”CppCon 2018: JeanHeyd Meneide “Scripting at the Speed of Thought: Lua and C++ with sol3”Adventures in SIMD-Thinking (part 1 of 2) - Bob Steagall - CppCon 2020Adventures in SIMD-Thinking (part 1 of 2) - Bob Steagall - CppCon 2020C++ Lambda Idioms - Timur Doumler - CppCon 2022C++ Lambda Idioms - Timur Doumler - CppCon 2022Just Enough Assembly for Compiler Explorer - Anders Schau Knatten - CppCon 2021Just Enough Assembly for Compiler Explorer - Anders Schau Knatten - CppCon 2021
Яндекс.Метрика