Integrated program verification tools in education

Automated software verification is an active field of research, which has made enormous progress both in theoretical and practical aspects. Even if not ready for large-scale industrial adoption, the technology behind automated program verifiers is now mature enough to gracefully handle the kind of p...

Descripción completa

Detalles Bibliográficos
Autores: de Caso, Guido, Garbervetsky, Diego David, Gorin, Daniel Alejadro
Tipo de recurso: artículo
Estado:Versión publicada
Fecha de publicación:2013
País:Argentina
Institución:Consejo Nacional de Investigaciones Científicas y Técnicas
Repositorio:CONICET Digital (CONICET)
Idioma:inglés
OAI Identifier:oai:ri.conicet.gov.ar:11336/15913
Acceso en línea:http://hdl.handle.net/11336/15913
Access Level:acceso abierto
Palabra clave:Education
Formal Methods
Automated Program Verification
https://purl.org/becyt/ford/1.2
https://purl.org/becyt/ford/1
Descripción
Sumario:Automated software verification is an active field of research, which has made enormous progress both in theoretical and practical aspects. Even if not ready for large-scale industrial adoption, the technology behind automated program verifiers is now mature enough to gracefully handle the kind of programs that arise in introductory programming courses. This opens exciting new opportunities in teaching the basics of reasoning about program correctness to novice students. However, for these tools to be effective, command-line-style user-interfaces need to be replaced. In this paper, we report on our experience using the verifying compiler for PEST in an introductory programming course as well as in a more advanced course on program analysis. PEST is an extremely basic programming language, but with expressive annotations capabilities and semantics amenable to verification. In particular, we comment on the crucial role played by the integration of this verifying compiler with the Eclipse integrated development environment.