~/talk

Testing The Tests: Mutation Testing for C++

Talkat NDC TechTown 2019 · 2019-09-02..09-05· [testing]
links:none on file
slides:none on file

Describes a C++ mutation-testing effort that actually builds mutators (operator swaps, initializer-list vs count ambiguity, removing range-for ampersands, changing lambda capture from value to reference) and runs them with clang/LLVM tooling, using IR-level mutation and LLVM IR mutation for speed plus distributed execution; finds real bugs (crashes from returning refs or capturing locals), flags redundant tests and dead code, and reports practical tradeoffs: equivalent mutants require human filtering, compile-time static_asserts complicate scoring, OpenSSL runs finish in minutes.

AI-written summary · about

  1. 0:00Intro
  2. 0:28Why do we test
  3. 2:31How do we test
  4. 3:48Testing mutator
  5. 5:34What can you get from mutation testing
  6. 9:26Mutations in code
  7. 13:18Optimizations
  8. 14:37Testing
  9. 16:20Design
  10. 17:46Vectors
  11. 19:34Other cases
  12. 21:01Vector names
  13. 22:10equivalence
  14. 23:23lambdas
  15. 25:17lambda equivalence
  16. 26:48compilation is test
  17. 27:39Error handling
  18. 29:45Mutation tools
  19. 33:41Highlevel mutations
  20. 36:18How much do you need
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.