The Faculty of Informatics is pleased to announce a seminar given by Dr. Nathaniel Nystrom
TITLE: Domain-Specific Language Extension for Correctness and Performance
SPEAKER: Dr. Nathaniel Nystrom, post-doctoral researcher at IBM T. J. Watson Research Center, Hawthorne, NY
DATE: Thursday, March 26th, 2009
PLACE: USI Università della Svizzera italiana, room SI-006, Informatics building (Via G. Buffi 13)
Modern computing environments present new software development challenges. The problems of concurrency, distribution, security, and extensibility must be addressed for today's software applications to be successful. These features are notoriously difficult to program, to test, and to debug. Programming languages can address these problems by allowing developers to express invariants to be used by compilers and other tools to rule out errors in programs before they are run and to generate more efficient code. A key challenge is providing language features that permit programmers to express application-specific invariants and permit construction of tools to use these invariants.
In this talk, I will describe my work on compilers and programming language features that enable construction of domain-specific extensions to X10, an object-oriented programming language for high-performance computing. X10 provides powerful mechanisms that enable users to extend the syntax and semantics of the core language. Annotations and compiler plugins allow programmers to refine the type information in the program and to perform static analyses on these types. X10's dependent type system allows programmers to specify invariants that are enforced by the compiler to rule out run-time errors and that are used to optimize code.
This talk is based on joint work with Vijay Saraswat, Jens Palsberg, Christian Grothoff, Andrew Myers, Michael Clarkson, Stephen Chong, and Xin Qi.
Nathaniel Nystrom is a postdoctoral researcher at IBM T.J. Watson Research Center in Hawthorne, NY. His research interests include programming languages, compilers, tools, and methodologies for constructing safe, secure, and efficient systems. He has done work on software extensibility, language-based security, programming language runtime systems, and compiler optimizations. He received his Ph.D. in Computer Science from Cornell University in 2007 and holds B.S. and M.S. degrees in Computer Science from Purdue University and an M.S. in Computer Science from Cornell.
HOST: Prof. Mehdi Jazayeri