『The Agile Embedded Podcast』のカバーアート

The Agile Embedded Podcast

The Agile Embedded Podcast

著者: Luca Ingianni Jeff Gable
無料で聴く

Learn how to get your embedded device to market faster AND with higher quality. Join Luca Ingianni and Jeff Gable as they discuss how agile methodologies apply to embedded systems development, with a particular focus on safety-critical industries such as medical devices.2021-2025 Jeff Gable & Luca Ingianni
エピソード
  • Requirements Engineering, part 2: A Practical Process for Safety-Critical Development
    2026/05/27
    Requirements Engineering Part 2: A Practical Process for Safety-Critical Development

    In this second part of our requirements engineering series, Jeff walks us through his preferred process for developing safety-critical products, particularly medical devices. We explore the crucial distinction between prototyping and design-controlled development, discussing when to start formal requirements work and how to keep your first version minimal yet complete.

    Jeff emphasizes the importance of deeply fleshing out requirements before implementation—including error handling, which often comprises 70% of a product. We discuss tracer bullets as a development strategy, the value of writing test cases alongside requirements, and why tracking requirements completion gives you honest project status. Luca and Jeff also debate the finer points of MVPs versus prototypes, and Jeff announces his upcoming requirements management tool for medical device startups.

    Key Topics
    • [00:00] Introduction and listener feedback on Part 1
    • [02:30] The prototyping phase: answering 'can we build it?' and 'should we build it?' before design controls
    • [06:00] Luca vs. Jeff: The great MVP and prototype debate
    • [12:00] Starting the V-model: minimal but deeply fleshed-out requirements for V1
    • [18:00] Error handling is 70% of your product—don't skip it in requirements
    • [22:00] When to write test cases: early, alongside requirements
    • [26:00] War story: the SATCOM system that needed a satellite slot in five years
    • [32:00] Project management: tracking requirements completion for honest status updates
    • [38:00] Tracer bullets: vertical slices through all layers, not horizontal completion
    • [45:00] Jeff's upcoming requirements and test management tool for medical device startups
    Notable Quotes

    "Error handling is 70% of your product, if not more. If you only do the 30% of the requirements for the happy path, you're fooling yourself." — Jeff

    "If you don't get this right at the outset, it will haunt you through the entirety of your product development process." — Luca

    "Paper is the best place to figure it out. Actually think through the requirements rigorously before you start building." — Jeff

    Resources Mentioned
    • Agile Embedded Slack Channel - Community discussion space for embedded development topics
    • Matt Pocock's YouTube Channel - AI for serious engineers, discusses tracer bullets and AI-assisted development
    • The Pragmatic Programmer - Classic software development book, source of the tracer bullet concept
    • The Art of Unix Programming by Eric S. Raymond - Referenced for the chapter 'Don't just do something. Stand there.'
    • Embedded.fm Episode 440: Condemned to Being Perfect - Crossover episode with Elecia White and Christopher White, where bootloaders and update strategies came up
    • Jeff's Requirements Management Tool - Upcoming requirements, risk, and test management tool for medical device startups

    You can find Jeff at https://jeffgable.com.
    You can find Luca at https://luca.engineer.

    Want to join the agile Embedded Slack? Click here

    Are you looking for embedded-focused trainings? Head to https://agileembedded.academy/
    Ryan Torvik and Luca have started the Embedded AI podcast, check it out at https://embeddedaipodcast.com/

    続きを読む 一部表示
    50 分
  • Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher
    2026/05/13
    Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher We sit down with Paul Butcher, Unit Director of Dynamic Analysis at AdaCore, to explore verification techniques beyond basic compliance in safety-critical software. Paul shares his experience from Eurofighter to automated trains, explaining how dynamic analysis—from unit testing to coverage analysis to fuzzing—helps find bugs that traditional testing misses. The conversation dives deep into fuzzing: how it works, why it's so effective at finding corner-case bugs (even in well-tested systems), and the challenges of applying it to embedded systems with timing constraints. Paul introduces an intriguing approach that combines static analysis with targeted fuzzing to automatically triage false positives and generate reproducers. We also touch on formal verification, the role of LLMs in verification workflows, and why the simplest software is often the safest. Whether you're working in aerospace, medical devices, or any safety-critical domain, this episode offers practical insights into building more robust systems. Key Topics [02:30] Paul's background in high-integrity embedded systems: Eurofighter, rail, drones, and AdaCore's dynamic analysis tools[05:00] Dynamic vs. static analysis: executing code to observe real behavior across different environments[08:15] How fuzzing works: mutation engines, anomaly detection, and finding bugs through negative testing[14:20] Challenges of fuzzing timing and concurrency bugs in embedded systems[17:45] Real-world success: fuzzing the NH90 avionics via the MIL bus uncovered numerous bugs[22:30] Safety standards (DO-178C, SIL levels) and objective-based approaches vs. checkbox compliance[28:00] Determining 'enough' fuzzing: coverage, input space complexity, and building certification arguments[32:15] Combining static analysis with targeted fuzzing to automatically triage false positives and generate reproducers[38:45] Symbolic execution and theorem provers: breaking through complex branch conditions in fuzzing campaigns[42:00] Shift-left philosophy: building verifiable software from the start with testing and analysis tools[47:30] Formal verification in practice: London Underground's Victoria line uses SPARK-proven emergency braking[51:00] LLMs in verification: cautious adoption for report analysis, but determinism remains critical for core tools[54:30] High Integrity Software Conference (HISC) in Birmingham, October 2026 Notable Quotes "Software testing is typically about, is it functionally correct? Fuzzing is like a negative testing technique. It's the inverse of that. It fires random inputs into your system with the intent of finding anomalies." — Paul Butcher "Every time I speak to someone who's tried fuzzing, even if it's a system that's considered high integrity with a high level of assurance, they always find something. It's really good at eking out those weird corner case scenarios." — Paul Butcher "With testing you would like to prove the absence of bugs, but unfortunately you can't. So you have to settle for a very distant second place of proving the presence of bugs." — Luca Ingianni Resources Mentioned Paul's paper on fuzzing in safety-critical contexts - Detailed discussion of how to argue 'enough' fuzzing for certificationHigh Integrity Software Conference (HISC) - Annual conference in Birmingham, UK (October 2026) covering high-integrity software across industriesAdaCore Dynamic Analysis Tools - Coverage, fuzzing, and unit testing solutions for high-integrity softwareSPARK formal verification - Formal proof technology used in London Underground's Victoria line emergency brakingAFL++ - Successor to the discontinued AFL (American Fuzzy Lop): Fuzzing technology mentioned as capable of quickly finding the Heartbleed bug You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click hereAre you looking for embedded-focused trainings? Head to https://agileembedded.academy/Ryan Torvik and Luca have started the Embedded AI podcast, check it out at https://embeddedaipodcast.com/
    続きを読む 一部表示
    49 分
  • Linux Profiling with Mohammed Billoo
    2026/04/30
    Linux Profiling with Mohammed Billoo We sit down with Mohammed Billoo, founder of Mab Labs and author of the Embedded Linux Essentials Handbook, to explore the world of embedded Linux profiling and optimization. Mohammed shares hard-won lessons from the field, including debugging a scientific instrument that mysteriously crashed after 60-minute runs and optimizing a sophisticated MANET platform that took a 20% throughput hit. The conversation reveals a fundamental truth: in embedded Linux, the CPU is rarely the bottleneck. Mohammed walks us through his systematic approach to performance problems, starting with simple tools like HTOP before diving into specialized instrumentation. We discuss the critical difference between VM size and VM RSS for memory analysis, why dumping console output can kill boot times, and how to leverage kernel configurations for maximum diagnostic bang-for-buck. Mohammed emphasizes the importance of building instrumentation into systems from day one—not for premature optimization, but to give your future self the data needed when problems inevitably surface. The discussion also touches on how LLMs can accelerate the learning curve for complex tools like Valgrind and perf, while stressing that physical reality remains the ultimate arbiter of system performance. Key Topics [03:15] The surface area problem: why embedded Linux profiling requires a tool chest, not just a toolbox[06:30] Case study: debugging a scientific instrument that crashed after 60-minute runs[08:45] VM size vs. VM RSS: understanding the critical difference in memory analysis[14:20] Why the CPU is rarely the bottleneck: coprocessors, DMA, and crypto engines[18:50] Essential kernel configurations: function tracer, perf, and config kallsyms[24:10] File system bottlenecks: moving from CSV files to SQLite for data integrity[28:40] Boot time optimization: why console output is one of the biggest time sinks[32:15] Premature optimization vs. smart instrumentation: building in diagnostic capability from day one[38:25] Leveraging LLMs for visualization and analysis of perf data and Valgrind output[43:50] The first five commands: starting with HTOP and working down to specialized tools Notable Quotes "When you first get started, you have generally this arrogance that like, oh, it works fine. I've tested it. It's good to go. But then as you get more experience, as you become a more senior-level engineer, that arrogance, you start to kind of strip away a lot of that arrogance. You get humbled pretty quickly." — Mohammed Billoo "The CPU is very rarely the bottleneck because it's meant to, and the drivers are implemented in Linux in such a way that they're intelligent enough that they can hand off a lot of the things of the CPU to coprocessors so that the CPU is really idle." — Mohammed Billoo "I don't convince myself of a claim that I'm making until I have data to back it up. So I don't say, oh, you know, this is working fine. Like, well, again, what does fine mean? Or, you know, what does well mean? And what is the data to prove that?" — Mohammed Billoo Resources Mentioned HTOP - Interactive process viewer for Linux - Mohammed's first tool for getting a high-level view of system performanceperf - Linux profiling tool with performance counters - requires kernel configuration to enableLTTng - Linux Trace Toolkit Next Generation - provides visibility across both user space and kernel spaceValgrind - Memory debugging and profiling tool for detecting memory leaksiperf - Network throughput measurement tool with server and client componentsGStreamer - Multimedia framework with built-in tools for per-frame timestamp analysisTracealyzer - Visualization tool for LTTng and other performance dataSQLite - Embedded database recommended for data integrity over CSV files in embedded systemsEmbedded Linux Essentials Handbook - Mohammed Billoo's book published by PacktMab Labs - Mohammed Billoo's embedded solutions consultancy with blog on embedded Linux topics You can find Jeff at https://jeffgable.com.You can find Luca at https://luca.engineer.Want to join the agile Embedded Slack? Click hereAre you looking for embedded-focused trainings? Head to https://agileembedded.academy/Ryan Torvik and Luca have started the Embedded AI podcast, check it out at https://embeddedaipodcast.com/
    続きを読む 一部表示
    46 分
adbl_web_anon_alc_button_suppression_t1
まだレビューはありません