Tech Talk: SmartCheck – Automatic and Efficient Counterexample Reduction and Generalization

  • Date Thursday, August 28, 2014  Time 10:30 AM
  • Speaker Dr. Lee Pike
  • Location 11th floor conference room of the Commonwealth Building, 421 SW 6th Ave., Portland, OR, USA
  • Galois is pleased to host the following tech talk. These talks are free and open to the interested public--please join us! (There is no need to pre-register for the talk.)

Abstract

QuickCheck is a powerful library for automatic test-case generation. Because QuickCheck performs random testing, some of the counterexamples discovered are very large. QuickCheck provides an interface for the user to write shrink functions to attempt to reduce the size of counterexamples. Hand-written implementations of shrink can be complex, inefficient, and consist of significant boilerplate code. Furthermore, shrinking is only one aspect in debugging: counterexample generalization is the process of extrapolating from individual counterexamples to a class of counterexamples, often requiring a flash of insight from the programmer. To improve counterexample reduction and generalization, we introduce SmartCheck. SmartCheck is a debugging tool that reduces algebraic data using generic search heuristics to efficiently find smaller counterexamples. In addition to shrinking, SmartCheck also automatically generalizes counterexamples to formulas representing classes of counterexamples. SmartCheck has been implemented for Haskell and is freely available.

Bio

Lee Pike manages the Cyber-Physical Systems program at Galois, a company specializing in software-intensive critical systems. He has been the Principal Investigator on approximately $10 million of R&D projects funded by NASA, DARPA, and other federal agencies. His research focuses on applying techniques from functional programming, run-time verification, and formal verification to the areas of operating systems, compilers, cryptographic systems, avionics, and control systems. Previously, he was a research scientist in the NASA Langley Formal Methods Group and has a Ph.D. in Computer Science from Indiana University.