Idris --- Systems Programming Meets Full Dependent Types
- π€ Speaker: Edwin Brady (St. Andrews)
- π Date & Time: Thursday 20 January 2011, 13:00 - 14:00
- π Venue: SS03, Computer Laboratory
Abstract
Dependent types have emerged in recent years as a promising approach to ensuring program correctness. However, existing dependently typed languages such as Agda and Coq work at a very high level of abstraction, making it difficult to map verified programs to suitably efficient executable code. This is particularly problematic for programs which work with bit level data, e.g. network packet processing, binary file formats or operating system services. Such programs, being fundamental to the operation of computers in general, may stand to benefit significantly from program verification techniques. In this talk, I will describe the use of a dependently typed programming language, Idris, for specifying and verifying properties of low-level systems programs, taking network packet processing as an extended example. I will give an overview of the distinctive features of Idris which allow it to interact with external systems code, with precise types. I will also show how to integrate tactic scripts and plugin decision procedures to reduce the burden of proof on application developers. The ideas are readily adaptable to languages with related type systems.
There is a paper available from http://www.cs.st-andrews.ac.uk/~eb/writings/plpv11.pdf
Series This talk is part of the Computer Laboratory Programming Research Group Seminar series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge talks
- Computer Laboratory Programming Research Group Seminar
- Department of Computer Science and Technology talks and seminars
- Interested Talks
- School of Technology
- SS03, Computer Laboratory
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)


Thursday 20 January 2011, 13:00-14:00