I’m always looking for the best way to communicate why focusing on branch coverage is wrong. Here’s a take on that using the Collatz conjecture as the code under test:
https://t.co/lxtLQ7tm9f
Formal Methods Only Solve Half My Problems has had a tremendous impact on me. https://t.co/CJzd5royg6.
My main area of interest has been correctness, but performance is more or less equally important. And spot on, unfortunately the tools for reasoning about both are separate.
Why the trouble of Deterministic Simulation Testing?! Isn't classical testing enough?!
Often classical tests run sequentially in the absence of failure. Systems run concurrently in the presence of failure
DST makes testing in real conditions manageable
https://t.co/VCo6RdrH5n
First thought: unit tests, esp. ones with a lot of mocking, would never catch an issue like this. Next one: understanding interdependent queues is the key to reliability in the presence of feedback loops. Last one: even a friggin CDN can cause an incident
https://t.co/zPk93yRjHZ
watching this Tigerbeetle presentation, and Joran uses the phrase "the 4 primary colors of computer science." Defined as: storage, network, memory, compute.
I _love_ this framing.
https://t.co/ciDND3rsPZ
@lauriewired You can prove a behavioral property of a system. We do this all the time. See seL4.
You misunderstand Rice’s theorem. It means we can’t prove properties generically. But it says nothing about proving them specifically.
@DominikTornow I am curious, how did the DST catch this, since presumably you’re not running PG in the simulation since it’s not deterministic?
Or are you connecting to a real
PG instance?
Fearlessly sending cold emails is an academic superpower.
You can literally just ask people things! And most of the time they're really excited to respond!
@scheminglunatic It's quite easy to write it with a for loop that uses a stack. Recursion just takes advantage of implicitly having a stack for memory.
@penberg@DomainerRyan Instead of an arcane git command that can overwrite history, what if we instead broke each commit up into individual PRs and then merged those separately? Same effect right? Minus the clobbering of your own history.
@TheEduardoRFS SKI is also relatively elegant, is it not? I'm not sure what you're point is.
Re beta reduction, can you elaborate on what's confusing about it?
@penberg It doesn't destroy history. It makes history a set of atomic commits instead of a bunch of work-in-progress commits. That's assuming your PRs are atomic changes, which they are, right?