CPAchecker es un marco y una herramienta para la verificación formal de software [ 1 ] y el análisis de programas en C. Algunas de sus ideas y conceptos, como la abstracción perezosa, se heredaron del verificador de modelos de software BLAST [ 2 ] . CPAchecker se basa en la idea del análisis de programas configurable [ 3 ] , un concepto que permite expresar tanto la verificación de modelos como el análisis de programas con un mismo formalismo. Al ejecutarse, CPAchecker realiza un análisis de alcanzabilidad , es decir, comprueba si un estado determinado, que viola una especificación dada, puede alcanzarse potencialmente [ 4 ] .
Una aplicación de CPAchecker es la verificación de controladores de dispositivos Linux . [ 5 ]
Logros
CPAchecker obtuvo el primer lugar en dos categorías (General y ControlFlowInteger) en la 1.ª Competencia de Verificación de Software (2012) que se llevó a cabo en TACAS 2012 en Tallin . [ 6 ]
CPAchecker obtuvo el primer lugar (categoría General) en la 2.ª Competencia de Verificación de Software (2013) que se llevó a cabo en TACAS 2013 en Roma . [ 7 ]
Arquitectura
CPAchecker funciona con un autómata de flujo de control (CFA); antes de que un programa en C pueda ser analizado por el algoritmo CPA, se transforma en un CFA. Un CFA es un grafo dirigido cuyas aristas representan supuestos o asignaciones, y cuyos nodos representan ubicaciones del programa.
Referencias
- ↑ Sitio web oficial de CPAchecker: https://cpachecker.sosy-lab.org
- ↑ Dirk Beyer y Thomas A. Henzinger y Ranjit Jhala y Rupak Majumdar (2007). "El verificador de modelos de software BLAST: aplicaciones a la ingeniería de software" (PDF) . Revista internacional sobre herramientas de software para la transferencia de tecnología . 9 : 505–525 . doi : 10.1007/s10009-007-0044-z . S2CID 1662778 .
- ↑ Dirk Beyer, Thomas A. Henzinger y Grégory Théoduloz (2007). «Verificación de software configurable: Concretizando la convergencia de la verificación de modelos y el análisis de programas» (PDF) . Actas de la 19.ª Conferencia Internacional sobre Verificación Asistida por Computadora . Springer-Verlag, Heidelberg. ISBN 978-3-540-73367-6.
- ↑ Dirk Beyer y M. Erkan Keremoglu (2011). «CPAchecker: Una herramienta para la verificación de software configurable» (PDF) . Actas de la 23.ª Conferencia Internacional sobre Verificación Asistida por Computadora . Springer-Verlag, Heidelberg. ISBN 978-3-642-22109-5.
- ↑ Verificación de controladores Linux: http://linuxtesting.org/project/ldv
- ↑ Dirk Beyer (2012). "Competencia sobre verificación de software (SV-COMP)" (PDF) . Actas de la 18.ª Conferencia Internacional sobre Herramientas y Algoritmos para la Construcción y Análisis de Sistemas . Springer-Verlag, Heidelberg.
- ↑ Dirk Beyer (2013). "Segunda competición sobre verificación de software (Resumen de SV-COMP 2013)" (PDF) . Actas de la 19.ª Conferencia Internacional sobre Herramientas y Algoritmos para la Construcción y el Análisis de Sistemas . Springer-Verlag, Heidelberg.
Enlaces externos
- Sitio web oficial
- Software de plataforma Java
- Familia de lenguajes de programación C
- Herramientas de métodos formales
- Herramientas de análisis estático de programas
- Herramientas de prueba de software
- Interpretación abstracta