Main Navigation
Yannis Smaragdakis
Summary
| E-mail Phone Fax |
yannis@cs.uoregon.edu +1-541-346-3473 +1-541-346-5373 |
Education | BA, 1993, Crete, Heraklion, Greece MS, 1995, Texas, Austin PhD, 1999, Texas, Austin |
|---|---|---|---|
| Web Office |
/~yannis 245 Deschutes |
Research Areas |
Object-Oriented Language Design and Implementation; Advanced Program Construction Tools; Virtual Memory Systems. |
Biography
Yannis Smaragdakis is an Associate Professor of Computer Science at the University of Oregon. He earned his B.Sc. degree from the University of Crete in Greece and his Ph.D. from the University of Texas at Austin. Yannis has received the NSF CAREER Award in 2003, the Outstanding Junior Faculty Research award from the Georgia Tech College of Computing in 2004, and best paper awards at ASE 2007, ISSTA 2006, GPCE 2004, and USENIX 1999. He is a senior member of the IEEE and he has (co-)authored numerous publications, some of which are even good.
Research Interests
My work is on the systems and languages end of software engineering. My research aims to make high-quality software development easier through the use of tools at the programming language level (e.g., specialized compilers, advanced libraries, program analyzers). Additionally, I have a background of experimental work in computer systems, especially in the area of memory management. Therefore, my work has covered many aspects of the three usually distinct areas of systems, programming languages, and software engineering. My past research record reflects this mix, with publications in conferences that are often systems-oriented (USENIX, SIGMETRICS, ICDCS, Middleware, ISMM), languages-oriented (ECOOP, ICFP, GPCE, PEPM, AOSD), or software-engineering-oriented (ICSE, ASE, ICSM, ICSR, ISSTA).
A common theme in most of my research work is that of changing the reference frame of a programming activity. I am particularly fond of approaches that view a domain from a different angle that ends up significantly simplifying programming tasks. The simplification may come from the transparent enhancement of program capabilities, from a redefinition of the vocabulary we use to express programs, or just from improved modularity through the decoupling of existing program elements. Highlights from past research include the concept of mixin layers in object-oriented programming, the NRMI middleware facility, the J-Orchestra automatic partitioning system for Java, the FC++ library for functional programming in C++, the EELRU replacement algorithm, the Meta-AspectJ and JTS systems for writing program generators, the DiSTiL program generator, and the JCrasher and CnC automatic testing systems.

