Integrating Software Testing and Run-Time Checking in an Assertion Verification Framework

  • Edison Mera
  • Pedro Lopez-García
  • Manuel Hermenegildo
Conference paper

DOI: 10.1007/978-3-642-02846-5_25

Part of the Lecture Notes in Computer Science book series (LNCS, volume 5649)
Cite this paper as:
Mera E., Lopez-García P., Hermenegildo M. (2009) Integrating Software Testing and Run-Time Checking in an Assertion Verification Framework. In: Hill P.M., Warren D.S. (eds) Logic Programming. ICLP 2009. Lecture Notes in Computer Science, vol 5649. Springer, Berlin, Heidelberg

Abstract

We present a framework that unifies unit testing and run-time verification (as well as static verification and static debugging). A key contribution of our overall approach is that we preserve the use of a unified assertion language for all of these tasks. We first describe a method for compiling run-time checks for (parts of) assertions which cannot be verified at compile-time via program transformation. This transformation allows checking preconditions and postconditions, including conditional postconditions, properties at arbitrary program points, and certain computational properties. Most importantly, we propose a minimal addition to the assertion language which allows defining unit tests to be run in order to detect possible violations of the (partial) specifications expressed by the assertions. We have implemented the framework within the Ciao/CiaoPP system and effectively applied it to the verification of ISO Prolog compliance and to the detection of different types of bugs in the Ciao system source code. Experimental results are presented that illustrate different trade-offs among program size, running time, or levels of verbosity of the messages shown to the user.

Keywords

run-time verification unit testing static/dynamic debugging assertions program verification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Edison Mera
    • 1
  • Pedro Lopez-García
    • 2
    • 3
  • Manuel Hermenegildo
    • 2
    • 4
  1. 1.Complutense University of Madrid (UCM)Spain
  2. 2.IMDEA SoftwareSpain
  3. 3.Spanish Research Council (CSIC)Spain
  4. 4.School of Computer ScienceTechnical University of Madrid (UPM)Spain

Personalised recommendations