CS SEMINAR

Wyvern - Security by Design

Speaker
Associate Professor Alex Potanin
Victoria University of Wellington

Chaired by
Dr CHIN Wei Ngan, Associate Professor, School of Computing
  chinwn@comp.nus.edu.sg

  23 Feb 2018 Friday, 03:00 PM to 04:30 PM

 SR7, COM1-02-07

Abstract:

The engineering properties of programs derive from their design. As programs grow in scale and complexity, ensuring compliance with the overall design intent becomes more critical yet also more difficult. The goal of the Wyvern programming language is to help programmers cleanly express and enforce design as an integral part of programming. Wyvern accomplishes this with a capability-safe object model that expresses design constraints constructively, a strong system of types and effects to enforce abstractions at both component and object scales, and an extensible syntax that can express designs in a variety of domains while preserving important security and modularity properties. The talk will flesh out these design goals and demonstrate how the features of the language support them, while highlighting some research directions that have arisen from the language's goals.


Biodata:

Associate Professor Alex Potanin (https://ecs.victoria.ac.nz/Main/AlexPotanin) from Victoria University of Wellington works on type systems for Ibject-oriented programming languages. In the past he developed generic ownership and immutability showing how to provide object graph encapsulation and mutability guarantees while utilising type polymorphism and other advanced type checking features. He also worked on empirical studies on Java memory usage and collections designs including showing that incoming and outgoing references for object graphs form power law relations. Over the past few years he was co-leading a Wyvern Programming Language project together with Professor Jonathan Aldrich at Carnegie Mellon University (http://wyvernlang.github.io) - a novel object-based language for the web and IoT programming prioritising security considerations above all else during every language design and development decision.