K
K. Rustan M. Leino
Researcher at Microsoft
Publications - 134
Citations - 12971
K. Rustan M. Leino is an academic researcher from Microsoft. The author has contributed to research in topics: Object-oriented programming & Correctness. The author has an hindex of 50, co-authored 132 publications receiving 12403 citations. Previous affiliations of K. Rustan M. Leino include Katholieke Universiteit Leuven & Imperial College London.
Papers
More filters
Proceedings ArticleDOI
Extended static checking for Java
TL;DR: The Extended Static Checker for Java (ESC/Java) is introduced, an experimental compile-time program checker that finds common programming errors and provides programmers with a simple annotation language with which programmer design decisions can be expressed formally.
Book ChapterDOI
The spec# programming system: an overview
TL;DR: The goals and architecture of thespec# programming system, consisting of the object-oriented Spec# programming language, the Spec# compiler, and the Boogie static program verifier, are described.
Book ChapterDOI
Dafny: an automatic program verifier for functional correctness
TL;DR: A tour of the language and verifier Dafny, which has been used to verify the functional correctness of a number of challenging pointer-based programs, is given and the full functional specification of the Schorr-Waite algorithm is shown.
Journal ArticleDOI
An overview of JML tools and applications
Lilian Burdy,Yoonsik Cheon,David R. Cok,Michael D. Ernst,Joseph R. Kiniry,Gary T. Leavens,K. Rustan M. Leino,Erik Poll +7 more
TL;DR: An overview of the main ideas behind JML, details about JML’s wide range of tools, and a glimpse into existing applications of JML are given.
Journal Article
Boogie: a modular reusable verifier for object-oriented programs
TL;DR: A program verifier as discussed by the authors is a complex system that uses compiler technology, program semantics, property inference, verification-condition generation, automatic decision procedures, and a user interface, such as a graphical user interface.