| BubbleBabble |  | 0% |  | 0% | 6 | 6 | 25 | 25 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestBase |   | 56% |   | 50% | 8 | 17 | 13 | 43 | 3 | 11 | 0 | 1 |
| RubyDigest.DigestInstance |   | 73% |   | 86% | 9 | 24 | 10 | 37 | 7 | 17 | 0 | 1 |
| RubyDigest |   | 90% |   | 80% | 4 | 17 | 15 | 75 | 2 | 12 | 0 | 1 |
| RubyDigest.DigestClass.INVOKER.s.0.1.s_hexdigest |  | 0% |  | 0% | 4 | 4 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.1.bubblebabble |  | 0% |  | 0% | 4 | 4 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestClass.INVOKER.s.0.0.s_digest |  | 0% |  | 0% | 3 | 3 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.1.hexdigest |  | 0% |  | 0% | 3 | 3 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.1.digest |  | 0% |  | 0% | 3 | 3 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestBase.INVOKER.i.1.0.initialize_copy |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestBase.INVOKER.i.1.0.update |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.1.0.update |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.1.0.op_equal |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestBase.INVOKER.i.0.0.bubblebabble |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.length |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.block_length |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestBase.INVOKER.i.0.0.reset |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestBase.INVOKER.i.0.0.block_length |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.inspect |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.hexdigest_bang |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.finish |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.INVOKER.s.1.0.s_hexencode |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.newObject |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.INVOKER.s.1.0.bubblebabble |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.digest_length |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.digest_bang |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.reset |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestBase.INVOKER.i.0.0.finish |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestBase.INVOKER.i.0.0.digest_length |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestInstance.INVOKER.s.0.0.to_s |  | 0% | | n/a | 2 | 2 | 0 | 0 | 2 | 2 | 1 | 1 |
| RubyDigest.DigestClass |  | 94% |   | 50% | 1 | 5 | 1 | 14 | 0 | 4 | 0 | 1 |
| RubyDigest.new PrivilegedAction() {...} |  | 60% | | n/a | 0 | 2 | 1 | 4 | 0 | 2 | 0 | 1 |
| RMD160 | | 50% | | n/a | 1 | 2 | 2 | 3 | 1 | 2 | 0 | 1 |
| RubyDigest.SHA256 | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RubyDigest.SHA384 | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RubyDigest.SHA512 | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RubyDigest.MD5 | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RubyDigest.RMD160 | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RubyDigest.SHA1 | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RubyDigest.Metadata |  | 100% | | n/a | 0 | 3 | 0 | 6 | 0 | 3 | 0 | 1 |
| RubyDigest.DigestBase.new ObjectAllocator() {...} |  | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| RubyDigest.DigestClass.new ObjectAllocator() {...} |  | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| MD5 |  | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| SHA2 |  | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| SHA1 |  | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |
| DigestLibrary |  | 100% | | n/a | 0 | 2 | 0 | 3 | 0 | 2 | 0 | 1 |