K. Rustan M. Leino

Outline:

 

 

Personal information

Research interests

Programming and program design technologies, programming languages and systems, programming methodology, object-oriented programming, programming tools, specification and verification, program semantics.

Other interests:  music and audio, game programming.

Research projects

(I'm afraid this list is not as up-to-date or useful as it could be.)

Education

Employment

Publications

Journal publications

A programming model for concurrent object-oriented programs TOPLAS
Bart Jacobs, K. Rustan M. Leino, Frank Piessens, Wolfram Schulte, and Jan Smans
ACM Transactions on Programming Languages and Systems, to appear.
Specification and verification challenges for sequential object-oriented programs FAC
Gary T. Leavens, K. Rustan M. Leino, and Peter Müller
Formal Aspects of Computing, to appear.
A previous version appears as Technical Report 06-14, Department of Computer Science, Iowa State University, May 2006.
Efficient weakest preconditions IPL
K. Rustan M. Leino
Information Processing Letters, 93(6):281-288, March 2005.
An overview of JML tools and applications STTT
Lilian Burdy, Yoonsik Cheon, David R. Cok, Michael D. Ernst, Joseph R. Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll
International Journal on Software Tools for Technology Transfer, 7(3):212-232, 2005.
Generating error traces from verification-condition counterexamples SCP
K. Rustan M. Leino, Todd Millstein, and James B. Saxe
Science of Computer Programming, 55(1-3):209-226, 2005.
Finding stale-value errors in concurrent programs C&C: P&E
Michael Burrows and K. Rustan M. Leino
Concurrency and Computation: Practice and Experience, 16(12):1161-1172, October 2004.
Verification of object-oriented programs with invariants JOT
Mike Barnett, Robert DeLine, Manuel Fähndrich, K. Rustan M. Leino, and Wolfram Schulte
Journal of Object Technology, 3(6):27-56, June 2004.
Data abstraction and information hiding TOPLAS
K. Rustan M. Leino and Greg Nelson
ACM Transactions on Programming Languages and Systems, 24(5):491-553, September 2002.
Annotation inference for modular checkers IPL
Cormac Flanagan, Rajeev Joshi, and K. Rustan M. Leino
Information Processing Letters, 77(2-4):97-108, February 2001.
Real estate of names IPL
K. Rustan M. Leino
Information Processing Letters, 77(2-4):169-171, February 2001.
A semantic approach to secure information flow SCP
Rajeev Joshi and K. Rustan M. Leino
Science of Computer Programming, 37(1-3):113-138, May 2000.
Virginity: A contribution to the specification of object-oriented software IPL
K. Rustan M. Leino and Raymie Stata
Information Processing Letters, 70(2):99-105, April 1999.
Joining specification statements TCS
K. Rustan M. Leino and Rajit Manohar
Theoretical Computer Science, 216(1-2):375-394, March 1999.
Computing permutation encodings FAC
K. Rustan M. Leino
Formal Aspects of Computing, 11(1):56-74, 1999.
Recursive object types in a logic of object-oriented programs NJC
K. Rustan M. Leino
Nordic Journal of Computing, 5(4):330-360, 1998.
Conditional composition FAC
Rajit Manohar and K. Rustan M. Leino
Formal Aspects of Computing, 7(6):683-703, March 1995.
Constructing a program with exceptions IPL
K. Rustan M. Leino
Information Processing Letters, 53(3):159-163, February 1995.
A method for showing progress FAC
K. Rustan M. Leino
Formal Aspects of Computing, 7(5):567-580, January 1995.

Chapters in books

A verifying compiler for a multi-threaded object-oriented language  
K. Rustan M. Leino and Wolfram Schulte
To appear in the Marktoberdorf Summer School 2006 lecture notes.
Foreword  
K. Rustan M. Leino
Verification of Object-Oriented Software: The KeY Approach.  Bernhard Beckert, Reiner Hähnle, and Peter H. Schmitt, editors.  Volume 4334 of Lecture Notes in Artificial Intelligence, pages VII-VIII.  Springer, 2007..
Abstraction dependencies  
K. Rustan M. Leino and Greg Nelson
In Annabelle McIver and Carroll Morgan, editors, Programming Methodology, Monographs in Computer Science, chapter 13, pages 269-289.  Springer, 2003.
A logic of object-oriented programs  
Martin Abadi and K. Rustan M. Leino
In Nachum Dershowitz, editor, Verification: Theory and Practice, Essays dedicated to Zohar Manna on the occasion of his 64th birthday, volume 2772 of Lecture Notes in Computer Science, pages 11-41.  Springer, 2003.

SRC Research Reports

Data abstraction and information hiding SRC RR
K. Rustan M. Leino and Greg Nelson
Research Report 160, Compaq Systems Research Center, Palo Alto, CA, November 2000.
Superseded by TOPLAS article, see above.
Extended static checking SRC RR
David L. Detlefs, K. Rustan M. Leino, Greg Nelson, and James B. Saxe
Research Report 159, Compaq Systems Research Center, Palo Alto, CA, December 1998.
A logic of object-oriented programs SRC RR
Martin Abadi and K. Rustan M. Leino
Research Report 161, Digital Equipment Corporation Systems Research Center, Palo Alto, CA, September 1998.
Superseded by chapter in Zohar Manna's Festschrift, see above.
Wrestling with rep exposure SRC RR
David L. Detlefs, K. Rustan M. Leino, and Greg Nelson
Research Report 156, Digital Equipment Corporation Systems Research Center, Palo Alto, CA, July 1998.

Conference publications

Verification of equivalent-results methods ESOP 2007
K. Rustan M. Leino and Peter Müller
In Sophia Drossopoulou, editor, Programming Languages and Systems, 17th European Symposium on Programming, ESOP 2008, volume 4960 of Lecture Notes in Computer Science, pages 307-321.  Springer, March/April 2008.
Class-local object invariants ISEC 2008
K. Rustan M. Leino and Angela Wallenburg
In Proceedings of the 2008 First India Software Engineering Conference, pages 57-66.  ACM, February 2008.
Using history invariants to verify observers ESOP 2007
K. Rustan M. Leino and Wolfram Schulte
In Rocco De Nicola, editor, Programming Languages and Systems, 16th European Symposium on Programming, ESOP 2007, volume 4421 of Lecture Notes in Computer Science, pages 80-94.  Springer, March 2007.
Practical reasoning about invocations and implementations of pure methods FASE 2007
Ádám Darvas and K. Rustan M. Leino
In Matthew B. Dwyer and Antónia Lopes, editors, Fundamental Approaches to Software Engineering, 10th International Conference, FASE 2007, volume 4422 of Lecture Notes in Computer Science, pages 336-351.  Springer, 2007.
Boogie: A Modular Reusable Verifier for Object-Oriented Programs FMCO 2005
Mike Barnett, Robert DeLine, Bart Jacobs, Bor-Yuh Evan Chang, and K. Rustan M. Leino
In Frank S. de Boer, Marcello M. Bonsangue, Susanne Graf, and Willem-Paul de Roever, editors, Formal Methods for Components and Objects:  4th International Symposium, FMCO 2005, volume 4111 of Lecture Notes in Computer Science, pages 364-387.  Springer, September 2006.
A verification methodology for model fields ESOP 2006
K. Rustan M. Leino and Peter Müller
In Peter Sestoft, editor, Programming Languages and Systems: 15th European Symposium on Programming, ESOP 2006, volume 3924 of Lecture Notes in Computer Science, pages 115-130.  Springer, March 2006.
Loop invariants on demand APLAS 2005
K. Rustan M. Leino and Francesco Logozzo
In Kwangkeun Yi, editor, Programming Languages and Systems, Third Asian Symposium, APLAS 2005, volume 3780 of Lecture Notes in Computer Science, pages 119-134.  Springer, November 2005.
Safe Concurrency for Aggregate Objects with Invariants SEFM 2005
Bart Jacobs, K. Rustan M. Leino, Frank Piessens, and Wolfram Schulte
In Bernhard K. Aichernig and Bernhard Beckert, editors, 3rd IEEE International Conference on Software Engineering and Formal Methods (SEFM 2005), pages137-146.  IEEE Computer Society, September 2005.
Modular verification of static class invariants FM 2005
K. Rustan M. Leino and Peter Müller
In John Fitzgerald, Ian J. Hayes, and Andrzej Tarlecki, editors, FM 2005: Formal Methods, International Symposium of Formal Methods Europe, volume 3582 of Lecture Notes in Computer Science, pages 26-42.  Springer, July 2005.
A Two-Tier Technique for Supporting Quantifiers in a Lazily Proof-Explicating Theorem Prover TACAS 2005
K. Rustan M. Leino, Madan Musuvathi, and Xinming Ou
In Nicolas Halbwachs and Lenore D. Zuck, editors, Tools and Algorithms for the Construction and Analysis of Software, 11th International Conference, TACAS 2005, volume 3440 of Lecture Notes in Computer Science, pages 334-348.  Springer, April 2005.
Abstract interpretation with alien expressions and heap structures VMCAI 2005
Bor-Yuh Evan Chang and K. Rustan M. Leino
In Radhia Cousot, editor, Verification, Model Checking, and Abstract Interpretation, 6th International Conference, VMCAI 2005, volume 3385 of Lecture Notes in Computer Science, pages 147-163.  Springer, January 2005.
Exception safety for C# SEFM 2004
K. Rustan M. Leino and Wolfram Schulte
In Jorge R. Cuellar and Zhiming Liu, editors, SEFM 2004--Second International Conference on Software Engineering and Formal Methods, pages 218-227.  IEEE, September 2004.
Object invariants in dynamic contexts ECOOP 2004
K. Rustan M. Leino and Peter Müller
In Martin Odersky, editor, ECOOP 2004--Object-oriented programming, 18th European Conference, Proceedings, volume 3086 of Lecture Notes in Computer Science, pages 491-516.  Springer, June 2004.
Declaring and checking non-null types in an object-oriented language OOPSLA 2003
Manuel Fähndrich and K. Rustan M. Leino
In Proceedings of the 2003 ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'03), volume 38(11) of SIGPLAN Notices, pages 302-312.  ACM, November 2003.
Using data groups to specify and check side effects PLDI 2002
K. Rustan M. Leino, Arnd Poetzsch-Heffter, and Yunhong Zhou
In Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), volume 37(5) of SIGPLAN Notices, pages 246-257.  ACM, May 2002.
Extended static checking for Java PLDI 2002
Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, and Raymie Stata
In Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), volume 37(5) of SIGPLAN Notices, pages 234-245.  ACM, May 2002.
Applications of extended static checking SAS'01
K. Rustan M. Leino
In Patrick Cousot, editor, Static Analysis: 8th International Symposium (SAS'01), volume 2126 of Lecture Notes in Computer Science, pages 185-193. Springer, July 2001.
Extended static checking: A ten-year perspective Dagstuhl 10th anniversary
K. Rustan M. Leino
In Reinhard Wilhelm, editor, Informatics -- 10 Years Back, 10 Years Ahead, volume 2000 of Lecture Notes in Computer Science, pages 157-175. Springer, January 2001.
Houdini, an annotation assistant for ESC/Java FME 2001
Cormac Flanagan and K. Rustan M. Leino
In International Symposium of Formal Methods Europe 2001: Formal Methods for Increasing Software Productivity, volume 2021 of Lecture Notes in Computer Science, pages 500-517. Springer, March 2001.
Data groups: Specifying the modification of extended state OOPSLA '98
K. Rustan M. Leino
In Proceedings of the 1998 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '98), volume 33(10) of ACM SIGPLAN Notices, pages 144-153.  ACM, October 1998.
A semantic approach to secure information flow MPC '98
K. Rustan M. Leino and Rajeev Joshi
In Johan Jeuring, editor, Mathematics of Program Construction: 4th International Conference, MPC'98, volume 1422 of Lecture Notes in Computer Science, pages 254-271. Springer, June 1998.
Superseded by SCP article, see above.
Recursive object types in a logic of object-oriented programs ESOP '98
K. Rustan M. Leino
In Chris Hankin, editor, Programming Languages and Systems: 7th European Symposium on Programming, ESOP'98, volume 1381 of Lecture Notes in Computer Science, pages 170-184. Springer, April 1998.
Superseded by NJC article, see above.
A logic of object-oriented programs TAPSOFT '97
Martin Abadi and K. Rustan M. Leino
In Michel Bidoit and Max Dauchet, editors, Theory and Practice of Software Development: Proceedings / TAPSOFT '97, 7th International Joint Conference CAAP/FASE, volume 1214 of Lecture Notes in Computer Science, pages 682-696. Springer, April 1997.
Superseded by chapter in Zohar Manna's Festschrift, see above.
Semantics of exceptions PROCOMET '94
K. Rustan M. Leino and Jan L. A. van de Snepscheut
In E.-R. Olderog, editor, Programming concepts, methods, and calculi (PROCOMET'94), volume A-56 of IFIP Transactions, pages 447-466. North-Holland, June 1994.

Theses

Toward reliable modular programs PhD thesis
K. Rustan M. Leino
PhD thesis, California Institute of Technology, January 1995.  Available as Technical Report Caltech CS-TR-95-03.
Multicomputer programming with Modula-3D MS thesis
K. Rustan M. Leino
MS thesis, California Institute of Technology, June 1993.  Available as Technical Report Caltech CS-TR-93-15.
K pinwheel schedulable numbers always have 3 friends, but need not have more
K. Rustan M. Leino
Undergraduate honors research, The University of Texas at Austin, May 1989.  Unpublished manuscript.

Other publications

(other than older versions of the above)

Automatic verification of textbook programs that use comprehensions FTfJP 2007
K. Rustan M. Leino and Rosemary Monahan
In proceedings of 9th workshop on Formal Techniques for Java-like Programs (FTfJP 2007), July 2007.
Using widenings to infer loop invariants inside an SMT solver, or: A theorem prover as abstract domain WING 2007
K. Rustan M. Leino and Francesco Logozzo
In proceedings of Workshop on Invariant Generation (WING 2007), June 2007.
Verified Software: Theories, Tools, and Experiments, VSTTE 2006, Workshop proceedings MSR TR
K. Rustan M. Leino and Wolfram Schulte, editors
Technical Report MSR-TR-2006-117, Microsoft Research, August 2006.
The Spec# programming system: Challenges and directions VSTTE 2005
Mike Barnett, Robert DeLine, Bart Jacobs, Manuel Fähndrich, K. Rustan M. Leino, Wolfram Schulte, and Herman Venter
Position paper, Verified Software: Theories, Tools, Experiments (VSTTE 2005), October 2005.
Weakest-precondition of unstructured programs PASTE 2005
Mike Barnett and K. Rustan M. Leino
In Michael D. Ernst and Thomas P. Jensen, editors, Proceedings of the 2005 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis For Software Tools and Engineering, PASTE'05, pages 82-87.  ACM, September 2005.
BoogiePL: A typed procedural language for checking object-oriented programs MSR TR
Robert DeLine and K. Rustan M. Leino
Technical Report MSR-TR-2005-70, Microsoft Research, May 2005.
Inferring object invariants AIOOL 2005
Bor-Yuh Evan Chang and K. Rustan M. Leino
First international workshop on Abstract Interpretation of Object-Oriented Languages (AIOOL), 2005.
Modular verification of global module invariants in object-oriented programs ETHZ TR
K. Rustan M. Leino and Peter Müller
Technical Report 459, ETH Zurich, Department of Computer Science, September 2004.
The Spec# Programming System: An overview CASSIS 2004
Mike Barnett, K. Rustan M. Leino, and Wolfram Schulte
In Gilles Barthe, Lilian Burdy, Marieke Huisman, Jean-Louis Lanet, Traian Muntean, editors, Construction and Analysis of Safe, Secure, and Interoperable Smart Devices, volume 3362 of Lecture Notes in Computer Science, pages 49-69.  Springer, March 2004.
On computing the fixpoint of a set of boolean equations MSR TR
Viktor Kuncak and K. Rustan M. Leino
Technical Report MSR-TR-2003-08, Microsoft Research, December 2003.
Also available as cs.PL/0408045, The Computing Research Repository (CoRR).
Heap monotonic typestates IWACO 2003
Manuel Fähndrich and K. Rustan M. Leino
In proceedings of International Workshop on Aliasing, Confinement and Ownership in object-oriented programming (IWACO), 2003.
An overview of JML tools and applications FMICS 03
Lilian Burdy, Yoonsik Cheon, David Cok, Michael D. Ernst, Joe Kiniry, Gary T. Leavens, K. Rustan M. Leino, and Erik Poll
Presented at Eighth International Workshop on Formal Methods for Industrial Critical Systems (FMICS 03), Trondheim, Norway, June 2003.  A previous version appeared as University of Nijmegen Dept. of Computer Science technical report NIII-R0309, March 2003.
Superseded by STTT article, see above.
A SAT characterization of boolean-program correctness SPIN 2003
K. Rustan M. Leino
In Thomas Ball and Sriram K. Rajamani, editors, Model Checking Software, volume 2648 of Lecture Notes in Computer Science, pages 104-120.  Springer, May 2003.
In-place refinement for effect checking AVIS'03
Viktor Kuncak and K. Rustan M. Leino
Presented at Second International Workshop on Automated Verification of Infinite-State Systems (AVIS'03), Warsaw, Poland, April 2003.
ESC/Java quick reference SRC TN
Silvija Seres with K. Rustan M. Leino and James B. Saxe
Technical Note 2000-004, Compaq Systems Research Center, Palo Alto, CA, October 2000.
ESC/Java user's manual SRC TN
K. Rustan M. Leino, Greg Nelson, and James B. Saxe
Technical Note 2000-002, Compaq Systems Research Center, Palo Alto, CA, October 2000.
JML: Notations and tools supporting detailed design in Java OOPSLA'00 poster
Gary T. Leavens, K. Rustan M. Leino, Erik Poll, Clyde Ruby, and Bart Jacobs
In OOPSLA'00 Companion. ACM, 2000. Also available as Technical Report TR #00-15, Department of Computer Science, Iowa State University, August 2000.
Checking Java programs via guarded commands FTfJP 1999
K. Rustan M. Leino, James B. Saxe, and Raymie Stata
Technical Note 1999-002, Compaq Systems Research Center, Palo Alto, CA, May 1999. Also appeared in Formal Techniques for Java Programs, workshop proceedings. Bart Jacobs, Gary T. Leavens, Peter Muller, and Arnd Poetzsch-Heffter, editors. Technical Report 251, Fernuniversität Hagen, 1999.
An extended static checker for Modula-3 CC'98 tool demo
K. Rustan M. Leino and Greg Nelson
In Kai Koskimies, editor, Compiler Construction: 7th International Conference, CC'98, volume 1383 of Lecture Notes in Computer Science, pages 302-305. Springer, April 1998.
A small dual-automorphic lattice with no involutory dual automorphism SRC TN
K. Rustan M. Leino and Lyle Ramshaw
Technical Note 1997-008, Digital Equipment Corporation Systems Research Center, Palo Alto, CA, May 1997.
Checking object invariants SRC TN
K. Rustan M. Leino and Raymie Stata
Technical Note 1997-007, Digital Equipment Corporation Systems Research Center, Palo Alto, CA, January 1997.
Ecstatic: An object-oriented programming language with an axiomatic semantics FOOL 4
K. Rustan M. Leino
In Proceedings of the Fourth International Workshop on Foundations of Object-Oriented Languages, January 1997.
Extensions to an object-oriented programming language for programming fine-grain multicomputers Caltech CS TR
K. Rustan M. Leino
Technical Report Caltech-CS-TR-92-26, 1992.

Talks

(other than conference and workshop presentations of papers above)

Professional distinctions

Graduate school awards and distinctions

Undergraduate awards and distinctions

High school awards and distinctions

Program committees

Other professional activities

Patents

Shareware computer games

Compact Discs

Videos and soundtracks

Acknowledgement: Ken Beckman made the videos in the second group above possible and lots of fun.

Original music

Some recordings, lyrics, and sheet music of original music is available at http://leino-online.com/music.

Some musical appearances

Some extracurricular activities


Last updated August 2007.