Coverage Analysis Tools rely on tracing facilities built into ruby's VM.
You run your tests, and collect data. Seems simple, but that's a very flawed approach that buffers your coverage numbers up falsely. I've witnessed false coverage by as much as 25%, but it could be even worse. Worse, the tracing facilities currently make it impossible to get truly accurate numbers. Even so, they can be improved to be much more accurate. I'm currently working on a tool that fixes this problem (it is basically done and just needs polishing). The talk should be approachable to everyone, but intermediate to advanced devs might get more out of it because they're more attuned to this level of the development process. Still, I will be covering basic theory in order to explain. I will also be diving into the internals of the ruby VM in order to explain some particularly hairy edge cases.