Formal Semantics for Testing

Colin S. Gordon

Off the Beaten Track Workshop (OBT'12), January 2012

Abstract

Software testing constitutes a substantial portion of the real world work of developing software. There has been much research aimed at partially-automating testing (random test generation, etc.). However, relatively little of it pays attention to precise semantics for languages or tests. Algorithms are described informally as pseudocode, and there is limited understanding of the relative power of many of the testing techniques in the literature. We outline a correspondence between tests and formal language semantics, and argue that techniques from programming language research are likely to advance our understanding of existing testing techniques and help to propose new techniques. We also argue that software tests can be a useful aid to formal verification.

Bibtex

@inproceedings{obt12,
  author = {Colin S. Gordon},
  title = {{Formal Semantics for Testing}},
  year = 2012,
  booktitle = {{Off the Beaten Track Workshop (OBT'12)}},
  address = {{Philadelphia, PA, USA}},
  month = "January",
  abstract = {
Software testing constitutes a substantial portion of the real world work of developing software. There has been much research aimed at partially-automating testing (random test generation, etc.). However, relatively little of it pays attention to precise semantics for languages or tests. Algorithms are described informally as pseudocode, and there is limited understanding of the relative power of many of the testing techniques in the literature. We outline a correspondence between tests and formal language semantics, and argue that techniques from programming language research are likely to advance our understanding of existing testing techniques and help to propose new techniques. We also argue that software tests can be a useful aid to formal verification.
  },
  note = "Position paper.",
  url = {http://www.cs.princeton.edu/~dpw/obt/abstracts/obt12_submission_9.pdf}
}