IMDEA Software

Iniciativa IMDEA

Inicio > Eventos > Software Seminar Series > 2009 > Integrating Software Testing and Run-Time Checking in an Assertion Verification Framework
Esta página aún no ha sido traducida. A continuación se muestra la página en inglés.

martes 17 de noviembre de 2009

11:00am Meeting room 302 (Mountain View), level 3

Edison Mera, PhD Student, The CLIP Laboratory, UPM

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

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.

The implemented transformation includes several optimizations to reduce run-time overhead. 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. We have performed some experiments to assess different trade-offs among program size, running time, or levels of verbosity of the messages shown to the user.

The talk will be divided into two parts. The first one will be devoted to the description of the unified framework, and a demonstration of the system will be performed in the second part.