Abstraction Mechanisms for Modular Software Construction

Date: 
Wednesday, February 25, 2009 - 1:46pm

UCSB COMPUTER SCIENCE DEPARTMENT PRESENTS:
MONDAY, MARCH 2, 2009
3:30 – 4:30
CS Conference Room, Room 1132

HOST: Subhash Suri

SPEAKER: SHAN SHAN HUANG
Georgia Institute of Technology

Title: Abstraction Mechanisms for Modular Software Construction

Abstract:

The complexity of modern software can be better managed through modular
software construction, where software is built through the composition
of modular, reusable pieces of code. Language abstraction mechanisms are
key in writing reuseable code: procedural abstraction, developed in the
1960′s, allows code to be reused over sets of concrete values; type
abstraction, developed in the 1970′s, allows code to be reused over sets
of concrete types.

In this talk, I introduce a possible next step in the development of
abstraction mechanisms: structural abstraction. Structural abstraction
supports an even higher level of reuse, by allowing code to abstract
over the concrete structure of other code. I introduce structural
abstraction through my techniques, “static type conditions” and
“morphing”; I demonstrate the benefits of these techniques through large
case studies; and I show that they are the first to offer this higher
level of reusability, while maintaining the high level safety guarantees
of separate type-checking.

I also briefly touch upon my work in raising the abstraction level used
in programming hardware (e.g., FPGAs), from gates, wires, and registers
to high-level Object-Orientation, with features such as data
encapsulation, dynamic dispatch, and automatic memory management.

Bio:

Shan Shan Huang is a Ph.D. candidate at the Georgia Institute
ofTechnology, advised by Prof. Yannis Smaragdakis. Her research focuses
on increasing programmer productivity by elevating the level of
abstraction offered by programming languages. Shan Shan is the recipient
of the National Science Foundation Graduate Fellowship and the Intel
Corporation Ph.D. Fellowship. She has conducted language design research
as a intern at IBM T.J. Watson Research Center and at Sandia National
Laboratory. She received her Bachelors of Science in Electrical
Engineering and Computer Science from the Massachusetts Institute of
Technology.