Cargando…

Verification of Object-Oriented Software. The KeY Approach Foreword by K. Rustan M. Leino /

Long gone are the days when program veri?cation was a task carried out merely by hand with paper and pen. For one, we are increasingly interested in proving actual program artifacts, not just abstractions thereof or core algorithms. The programs we want to verify today are thus longer, including who...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor Corporativo: SpringerLink (Online service)
Otros Autores: Beckert, Bernhard (Editor ), Hähnle, Reiner (Editor ), Schmitt, Peter H. (Editor )
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 2007.
Edición:1st ed. 2007.
Colección:Lecture Notes in Artificial Intelligence, 4334
Temas:
Acceso en línea:Texto Completo

MARC

LEADER 00000nam a22000005i 4500
001 978-3-540-69061-0
003 DE-He213
005 20221012191632.0
007 cr nn 008mamaa
008 100301s2007 gw | s |||| 0|eng d
020 |a 9783540690610  |9 978-3-540-69061-0 
024 7 |a 10.1007/978-3-540-69061-0  |2 doi 
050 4 |a Q334-342 
050 4 |a TA347.A78 
072 7 |a UYQ  |2 bicssc 
072 7 |a COM004000  |2 bisacsh 
072 7 |a UYQ  |2 thema 
082 0 4 |a 006.3  |2 23 
245 1 0 |a Verification of Object-Oriented Software. The KeY Approach  |h [electronic resource] :  |b Foreword by K. Rustan M. Leino /  |c edited by Bernhard Beckert, Reiner Hähnle, Peter H. Schmitt. 
250 |a 1st ed. 2007. 
264 1 |a Berlin, Heidelberg :  |b Springer Berlin Heidelberg :  |b Imprint: Springer,  |c 2007. 
300 |a XXIX, 658 p.  |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 Lecture Notes in Artificial Intelligence,  |x 2945-9141 ;  |v 4334 
505 0 |a A New Look at Formal Methods for Software Construction -- A New Look at Formal Methods for Software Construction -- I: Foundations -- First-Order Logic -- Dynamic Logic -- Construction of Proofs -- II: Expressing and Formalising Requirements -- Formal Specification -- Pattern-Driven Formal Specification -- Natural Language Specifications -- Proof Obligations -- From Sequential Java to Java Card -- III: Using the KeY System -- Using KeY -- Proving by Induction -- Java Integers -- Proof Reuse -- IV: Case Studies -- The Demoney Case Study -- The Schorr-Waite-Algorithm -- Appendices -- Predefined Operators in Java Card DL -- The KeY Syntax. 
520 |a Long gone are the days when program veri?cation was a task carried out merely by hand with paper and pen. For one, we are increasingly interested in proving actual program artifacts, not just abstractions thereof or core algorithms. The programs we want to verify today are thus longer, including whole classes and modules. As we consider larger programs, the number of cases to be considered in a proof increases. The creative and insightful parts of a proof can easily be lost in scores of mundane cases. Another problem with paper-and-pen proofs is that the features of the programming languages we employ in these programs are plentiful, including object-oriented organizations of data, facilities for specifying di?erent c- trol ?ow for rare situations, constructs for iterating over the elements of a collection, and the grouping together of operations into atomic transactions. These language features were designed to facilitate simpler and more natural encodings of programs, and ideally they are accompanied by simpler proof rules. But the variety and increased number of these features make it harder to remember all that needs to be proved about their uses. As a third problem, we have come to expect a higher degree of rigor from our proofs. A proof carried out or replayed by a machine somehow gets more credibility than one that requires human intellect to understand. 
650 0 |a Artificial intelligence. 
650 0 |a Computer science. 
650 0 |a Machine theory. 
650 0 |a Compilers (Computer programs). 
650 0 |a Software engineering. 
650 1 4 |a Artificial Intelligence. 
650 2 4 |a Computer Science Logic and Foundations of Programming. 
650 2 4 |a Formal Languages and Automata Theory. 
650 2 4 |a Compilers and Interpreters. 
650 2 4 |a Software Engineering. 
700 1 |a Beckert, Bernhard.  |e editor.  |4 edt  |4 http://id.loc.gov/vocabulary/relators/edt 
700 1 |a Hähnle, Reiner.  |e editor.  |4 edt  |4 http://id.loc.gov/vocabulary/relators/edt 
700 1 |a Schmitt, Peter H.  |e editor.  |4 edt  |4 http://id.loc.gov/vocabulary/relators/edt 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer Nature eBook 
776 0 8 |i Printed edition:  |z 9783540834335 
776 0 8 |i Printed edition:  |z 9783540689775 
830 0 |a Lecture Notes in Artificial Intelligence,  |x 2945-9141 ;  |v 4334 
856 4 0 |u https://doi.uam.elogim.com/10.1007/978-3-540-69061-0  |z Texto Completo 
912 |a ZDB-2-SCS 
912 |a ZDB-2-SXCS 
912 |a ZDB-2-LNC 
950 |a Computer Science (SpringerNature-11645) 
950 |a Computer Science (R0) (SpringerNature-43710)