Model checking machine code with the GNU debugger

  • Authors:
  • Eric Mercer;Michael Jones

  • Affiliations:
  • Department of Computer Science, Brigham Young University, Provo, Utah;Department of Computer Science, Brigham Young University, Provo, Utah

  • Venue:
  • SPIN'05 Proceedings of the 12th international conference on Model Checking Software
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Embedded software verification is an important verification problem that requires the ability to reason about the timed semantics of concurrent behaviors at a low level of atomicity. Combining a cycle-accurate debugger with model checking algorithms provides an accurate model of software execution at the machine-code level while supporting concurrency and allowing abstractions to manage state explosion. We report on the design and implementation of such a model checker using the GNU debugger (gdb) with different processor backends. A significant feature of the resulting tool is that we can adjust the level of atomicity during the model checking run to reduce state explosion while focusing on behaviors that are likely to generate an error.