Doing A Bradbury With Heckle

557 views
477 views

Published on

A description of heckle and possible improvements.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
557
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Doing A Bradbury With Heckle

  1. 1. Doing a Bradbury with Heckle <ul><li>Andrew Grimm
  2. 2. University of New (South Wales)
  3. 3. @andrewjgrimm
  4. 4. http://andrewjgrimm.wordpress.com </li></ul>
  5. 5. What's Heckle? <ul><li>Mutation tester
  6. 6. Makes changes to production code- mutations
  7. 7. Your unit tests should fail when changes are made – killing mutants </li></ul>
  8. 8. Heckle could be faster <ul><li>Normally, each mutation requires the running of the specified test suite
  9. 9. Number of mutations proportional to size of codebase
  10. 10. Number of tests proportional to size of codebase
  11. 11. Therefore heckle time is ~ O(n^2) </li></ul>
  12. 12. Bradbury <ul><li>Project name based after gold medal winning skater Steven Bradbury
  13. 13. Tells test/unit to stop running once each mutation has triggered a failing test
  14. 14. Should reduce running time </li></ul>
  15. 15. How test runs are stopped <ul><li>Test::Unit allows you to add listeners triggered by updates, including failed tests
  16. 16. I've added a proc containing a request to throw a symbol
  17. 17. The calling of the test suite for a specific mutation occurs within a catch block </li></ul>
  18. 18. Future plans <ul><li>Sort tests so that those likely to fail go first (the sooner you kill mutants, the sooner you can deal with the next one)
  19. 19. Random number seeding, to enable reproducible mutant creation </li></ul>
  20. 20. More future plans <ul><li>Turn resistance to mutation into a percentage value
  21. 21. Add rcov-style code coloring </li><ul><li>Color the method based on percentage resistance to mutation
  22. 22. Or highlight particular portions vulnerable to mutation
  23. 23. Make available to other code metric software </li></ul></ul>
  24. 24. Rejected project names <ul><li>Too hard to spell </li><ul><li>(Jack) Kevorkian – euthanasia doctor
  25. 25. (Philip) Nitschke – euthanasia doctor </li></ul><li>Too popular a name </li><ul><li>Governator
  26. 26. Buster (from MythBusters) </li></ul></ul>

×