Published Sep 3, 2019

Episode 367: Diomidis Spinellis on Debugging

Diomidis Spinellis delves into the art of debugging by highlighting the essentials of code comprehension, the transformative power of automation and monitoring tools, and shares actionable strategies across different programming environments to enhance problem-solving efficiency.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Code Techniques

    Understanding code is crucial for effective debugging, as highlighted by . He suggests rewriting code in a different programming language or at a higher level of abstraction to gain deeper insights, especially when dealing with complex algorithms 1. This approach can help isolate problems that are not apparent in the original code structure. Spinellis also emphasizes the importance of examining compiler output to catch unexpected errors, such as misplaced brackets or even rare compiler bugs 2.

    You switch to an assembly language view or to JavaScript as you mentioned, and you see that has compiled to something that you weren't expecting it to compile into.

    ---

    These strategies are not universally applicable but can be invaluable in specific, challenging debugging scenarios.

       

    System Understanding

    A holistic understanding of complex systems is essential for effective debugging. and Spinellis discuss the necessity of grasping both high-level and target-level programming to navigate intricate software environments 3. This comprehensive approach ensures that developers can address issues that arise from the interaction of various system components. Hermans notes that while some may prefer higher-level programming, understanding the underlying systems remains crucial until they are perfected 4.

    It makes total sense that until they're perfect, we really also need to understand the target level.

    ---

    This dual-level comprehension aids in identifying and resolving deep-seated bugs effectively.

Related Episodes