Verification of Object-Oriented Software. The KeY Approach: Foreword by K. Rustan M. Leino
Book information
Description
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.
Similar books
Verification of Object-Oriented Software. The KeY Approach: Foreword by K. Rustan M. Leino
2007 · PDF
Einstieg in Java und OOP: Grundelemente, Objektorientierung, Design-Patterns und Aspektorientierung
2020 · PDF
Central European Functional Programming School: First Summer School, CEFP 2005, Budapest, Hungary, July 4-15, 2005, Revised Selected Lectures
2006 · PDF
Foundations of Software Science and Computational Structures: 13th International Conference, FOSSACS 2010, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2010, Paphos, Cyprus, March 20-28, 2010. Proceedings
2010 · PDF
Automata for Branching and Layered Temporal Structures: An Investigation into Regularities of Infinite Transition Systems
2010 · PDF
Ajax in der Praxis: Grundlagen, Konzepte, Lösungen
2008 · PDF
Einstieg in Java und OOP
2009 · PDF
Echtzeit 2019: Autonome Systeme – 50 Jahre PEARL
2019 · PDF