Skip to main navigation Skip to search Skip to main content

Semi-proving: An integrated method for program proving, testing, and debugging

Research output: Journal PublicationArticlepeer-review

Abstract

We present an integrated method for program proving, testing, and debugging. Using the concept of metamorphic relations, we select necessary properties for target programs. For programs where global symbolic evaluation can be conducted and the constraint expressions involved can be solved, we can either prove that these necessary conditions for program correctness are satisfied or identify all inputs that violate the conditions. For other programs, our method can be converted into a symbolic-testing approach. Our method extrapolates from the correctness of a program for tested inputs to the correctness of the program for related untested inputs. The method supports automatic debugging through the identification of constraint expressions that reveal failures.

Original languageEnglish
Article number5406529
Pages (from-to)109-125
Number of pages17
JournalIEEE Transactions on Software Engineering
Volume37
Issue number1
DOIs
Publication statusPublished - 2011
Externally publishedYes

Free Keywords

  • Software/program verification
  • symbolic execution
  • testing and debugging

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Semi-proving: An integrated method for program proving, testing, and debugging'. Together they form a unique fingerprint.

Cite this