Cargando…

Rigorous Software Development An Introduction to Program Verification /

The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathem...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autores principales: Almeida, José Bacelar (Autor), Frade, Maria João (Autor), Pinto, Jorge Sousa (Autor), Melo de Sousa, Simão (Autor)
Autor Corporativo: SpringerLink (Online service)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: London : Springer London : Imprint: Springer, 2011.
Edición:1st ed. 2011.
Colección:Undergraduate Topics in Computer Science,
Temas:
Acceso en línea:Texto Completo

MARC

LEADER 00000nam a22000005i 4500
001 978-0-85729-018-2
003 DE-He213
005 20230810134455.0
007 cr nn 008mamaa
008 110103s2011 xxk| s |||| 0|eng d
020 |a 9780857290182  |9 978-0-85729-018-2 
024 7 |a 10.1007/978-0-85729-018-2  |2 doi 
050 4 |a QA76.758 
072 7 |a UMZ  |2 bicssc 
072 7 |a COM051230  |2 bisacsh 
072 7 |a UMZ  |2 thema 
082 0 4 |a 005.1  |2 23 
100 1 |a Almeida, José Bacelar.  |e author.  |4 aut  |4 http://id.loc.gov/vocabulary/relators/aut 
245 1 0 |a Rigorous Software Development  |h [electronic resource] :  |b An Introduction to Program Verification /  |c by José Bacelar Almeida, Maria João Frade, Jorge Sousa Pinto, Simão Melo de Sousa. 
250 |a 1st ed. 2011. 
264 1 |a London :  |b Springer London :  |b Imprint: Springer,  |c 2011. 
300 |a XIII, 307 p. 52 illus.  |b online resource. 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |b PDF  |2 rda 
490 1 |a Undergraduate Topics in Computer Science,  |x 2197-1781 
505 0 |a List of Figures -- 1. Introduction -- 2. An Overview of Formal Methods Tools and Techniques -- 3. Propositional Logic -- 4. First-Order Logic -- 5. Hoare Logic -- 6. Generating Verification Conditions -- 7. Safety Properties -- 8. Procedures and Contracts -- 9. Specifying C Programs -- 10. Verifying C Programs -- Bibliography -- Index. 
520 |a The use of mathematical methods in the development of software is essential when reliable systems are sought; in particular they are now strongly recommended by the official norms adopted in the production of critical software. Program Verification is the area of computer science that studies mathematical methods for checking that a program conforms to its specification. This text is a self-contained introduction to program verification using logic-based methods, presented in the broader context of formal methods for software engineering. The idea of specifying the behaviour of individual software components by attaching contracts to them is now a widely followed approach in program development, which has given rise notably to the development of a number of behavioural interface specification languages and program verification tools. A foundation for the static verification of programs based on contract-annotated routines is laid out in the book. These can be independently verified, which provides a modular approach to the verification of software. The text assumes only basic knowledge of standard mathematical concepts that should be familiar to any computer science student. It includes a self-contained introduction to propositional logic and first-order reasoning with theories, followed by a study of program verification that combines theoretical and practical aspects -- from a program logic (a variant of Hoare logic for programs containing user-provided annotations) to the use of a realistic tool for the verification of C programs (annotated using the ACSL specification language), through the generation of verification conditions and the static verification of runtime errors. 
650 0 |a Software engineering. 
650 0 |a Computer science. 
650 0 |a Computer science  |x Mathematics. 
650 1 4 |a Software Engineering. 
650 2 4 |a Computer Science Logic and Foundations of Programming. 
650 2 4 |a Symbolic and Algebraic Manipulation. 
700 1 |a Frade, Maria João.  |e author.  |4 aut  |4 http://id.loc.gov/vocabulary/relators/aut 
700 1 |a Pinto, Jorge Sousa.  |e author.  |4 aut  |4 http://id.loc.gov/vocabulary/relators/aut 
700 1 |a Melo de Sousa, Simão.  |e author.  |4 aut  |4 http://id.loc.gov/vocabulary/relators/aut 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer Nature eBook 
776 0 8 |i Printed edition:  |z 9780857290175 
776 0 8 |i Printed edition:  |z 9780857290199 
830 0 |a Undergraduate Topics in Computer Science,  |x 2197-1781 
856 4 0 |u https://doi.uam.elogim.com/10.1007/978-0-85729-018-2  |z Texto Completo 
912 |a ZDB-2-SCS 
912 |a ZDB-2-SXCS 
950 |a Computer Science (SpringerNature-11645) 
950 |a Computer Science (R0) (SpringerNature-43710)