Get the latest tech news

Hash-based bisect debugging in compilers and runtimes


Posted on Thursday, July 18, 2024. PDF Setting the Stage Does this sound familar? You make a change to a library to optimize its performance or clean up technical debt or fix a bug, only to get a bug report: some very large, incomprehensibly opaque test is now failing.

Brian Ness and Viet Ngo published “ Regression containment through source change isolation ” at COMPSAC ’97 (August 1997) describing a system built at Cray Research that they used to deliver much more frequent non-regressing compiler releases. One of the hardest things about debugging is running a program backward: there’s a data structure with a bad value, or the control flow has zigged instead of zagged, and it’s very difficult to understand how it could have gotten into that state. For Go 1.23, we rewrote the time.Timer implementation and changed its semantics slightly, to remove some races in existing APIs and also enable earlier garbage collection in some common cases.

Get the Android app

Or read this on Hacker News

Read more on:

Photo of compilers

compilers

Photo of hash

hash

Related news:

News photo

Show HN: Lady Deirdre 2 – Rust Framework for Compilers and LSP Servers

News photo

Elsevier embeds a hash in the PDF metadata that is unique for each download (2022)

News photo

Compilers are too smart