leap-contracts icon indicating copy to clipboard operation
leap-contracts copied to clipboard

Firefly additional tests

Open ehildenb opened this issue 4 years ago • 0 comments

This is a PR from Runtime Verification (https://runtimeverification.com), the developers of the Firefly tool (https://fireflyblockchain.com). We work in smart contract quality assurance, and have been working on the Firefly tool as an automated health-check and augmentation of users test-suites (https://fireflyblockchain.com/about.html).

We ran our tool on this repository, and found several places where there was low bytecode coverage. These additional tests were added by looking at those spots of low coverage and trying to improve them.

Here is the bytecode-level coverage report before: https://fireflyblockchain.com/app/report.html?reportId=7e0c6e35-6e1f-47c1-933c-1937f2abfc40, and after: https://fireflyblockchain.com/app/report.html?reportId=708b84e8-7b7f-460f-9542-eacd475a9faf.

Here is a sample coverage report with a tour for explaining how to view them: https://fireflyblockchain.com/app/report.html?reportId=00000000-0000-0000-0000-000000000000.

In particular, you'll see that the coverage improves over the following tokens:

  • AdminableProxy: 56% -> 65%
  • Bridge: 72% -> 85%
  • BridgeProxy: 33% -> 59%
  • ExitHandlerProxy: 32% -> 58%
  • FastExitHandler: 38% -> 51%
  • Migrations: 26% -> 62%
  • MinGov: 70% -> 82%
  • OperatorProxy: 14% -> 51%
  • PoaOperator: 3 %-> 29%
  • SimpleToken: 31% -> 73%
  • SpaceDustNFT: 35% -> 64%
  • SwapRegistry: 73% -> 82%
  • Vault: 66% -> 76%

Note that Firefly measures bytecode coverage, not Solidity-line coverage, which several other tools measure.

ehildenb avatar Jul 13 '20 14:07 ehildenb