Mathematical programming based debugging

  • Leo Liberti
  • , Stéphane Le Roux
  • , Jeremy Leconte
  • , Fabrizio Marinelli

Research output: Contribution to journalArticlepeer-review

Abstract

Verifying that a piece of software has no bugs means proving that it has certain desired properties, such as an array index not taking values outside certain bounds. Abstract interpretation is used in the static analysis of code to establish the inclusion-wise smallest set of values (numerical invariant) that the program variables can attain during program execution. Such sets can be used to detect run-time errors without actually running the program. We present a mathematical program that determines guaranteed smallest interval invariants of computer programs with integer affine arithmetics and compare our results to existing techniques.

Original languageEnglish
Pages (from-to)1311-1318
Number of pages8
JournalElectronic Notes in Discrete Mathematics
Volume36
Issue numberC
DOIs
Publication statusPublished - 1 Jan 2010

Keywords

  • Abstract interpretation
  • Reformulation
  • Static analysis
  • Verification

Fingerprint

Dive into the research topics of 'Mathematical programming based debugging'. Together they form a unique fingerprint.

Cite this