Program analyzers act as guards for ensuring reliability of modern-day
software. But who guards the guards themselves? Due to their high
complexity and sophisticated algorithms, analyzers are likely to
contain critical bugs, which...
Program analyzers act as guards for ensuring reliability of modern-day
software. But who guards the guards themselves? Due to their high
complexity and sophisticated algorithms, analyzers are likely to
contain critical bugs, which we define as those leading to wrong
results, e.g., returning `correct' for incorrect software. Such bugs
may have detrimental consequences, especially in safety-critical
settings. It is, therefore, imperative to be able to detect them.
Verifying the absence of critical bugs in a program analyzer is
prohibitively expensive. Contrary to verification, automated test
generation can be used to effectively find such bugs. Existing testing
approaches, however, are still in their infancy for this application
domain.
To address this issue, MirandaTesting will develop the first
principled methodology for testing a wide range of program
analyzers. At its core, our methodology exposes more information about
why an analyzer computes a particular result; it then uses this
information to interrogate the analyzer aiming to force it into a
contradiction, thus revealing a critical bug. The project has the
following goals:
1. Design a general framework for testing program analyzers using the
MirandaTesting methodology;
2. Develop interrogation strategies pertaining to eleven prevalent
classes of program analyzers;
3. Demonstrate the effectiveness of concrete instantiations of the
general framework and interrogation strategies for several popular
program analyzers from each class;
4. Focus on disseminating our methodology and infrastructure.
If successful, MirandaTesting will enable systematic testing of entire
program-analyzer classes. As a result, analyzers will exhibit fewer
critical bugs, potentially preventing catastrophic outcomes in
safety-critical domains.ver más
Seleccionando "Aceptar todas las cookies" acepta el uso de cookies para ayudarnos a brindarle una mejor experiencia de usuario y para analizar el uso del sitio web. Al hacer clic en "Ajustar tus preferencias" puede elegir qué cookies permitir. Solo las cookies esenciales son necesarias para el correcto funcionamiento de nuestro sitio web y no se pueden rechazar.
Cookie settings
Nuestro sitio web almacena cuatro tipos de cookies. En cualquier momento puede elegir qué cookies acepta y cuáles rechaza. Puede obtener más información sobre qué son las cookies y qué tipos de cookies almacenamos en nuestra Política de cookies.
Son necesarias por razones técnicas. Sin ellas, este sitio web podría no funcionar correctamente.
Son necesarias para una funcionalidad específica en el sitio web. Sin ellos, algunas características pueden estar deshabilitadas.
Nos permite analizar el uso del sitio web y mejorar la experiencia del visitante.
Nos permite personalizar su experiencia y enviarle contenido y ofertas relevantes, en este sitio web y en otros sitios web.