Home
About the School
Contact and People
Future Undergraduate Students
Prospective Postgraduates
Current Students
Current Postgraduates
Research
IT News
Awards
Industry Links and Prizes
School and IT Information
Other
Internal Information
|
Research Seminar - August 10, 2001
Seminar Announcement
| Title: |
Verifying Program Invariants with Refinement Types
|
| Speaker: |
Mr Rowan Davies
|
| |
Department of Computer Science & Software Engineering
University of Western Australia
|
| Date: |
Friday 10th August, 2001 |
| Time: |
2.00pm |
| Venue: |
Room 1.24 |
Abstract:
In current programming languages there is a large gap between the
minimal consistency guaranteed by type-checking and total correctness
of a program, which generally cannot be established in practice. We
present a system of refinement types which stops far short of full
verification, but which allows many relevant and interesting program
invariants to be formally expressed and verified.
We illustrate why such a system requires both subtyping and
intersection types, and investigate how these constructs interact with
other language features such as exceptions and effects. Our concrete
realization will be as an extension of ML, but the underlying design
is quite robust and has been applied to other languages such as
logical frameworks.
While full inference of refinement types is decidable and principal
types exist, it is neither feasible nor desirable in practice. We
discuss why and present our current design for partial type
reconstruction and its interaction with a module system.
This is work stemming from a collaboration with Frank Pfenning, CMU. |
|