Gregor Kiczales

Email: gregor [at] cs [dot] ubc [dot] ca
Office: ICCS 311
Phone: 604-822-4806

Curriculum Vitae

Undergraduate Study M.I.T. (1978-1983); Research Staff, MIT Lab for Computer Science (1980-1983); Member of Technical Staff, Symbolics Inc. (1983-1984); Member of Research Staff, Xerox PARC (1984-1999); Manager, Software Design Area, Xerox PARC (1992-1999); Principal Scientist, Xerox PARC (1996-1999); Professor, University of British Columbia (1999-); Xerox/Sierra Systems/NSERC Software Design Chair, UBC (1999-).


programming languages
aspect-oriented programming
reflection and meta-programming
software design


My research is directed at enabling programmers to write programs that, as much as possible, look like the design. My belief is that programs that clearly express the design structure they implement are easier to maintain, because questions about what a part of the program does, why it does that, and what other parts of the program depend on that behavior become easier to answer.

In pursuit of this goal, most of my research has been in programming language design and implementation, but I am also interested in programming environments, design and coding styles, and software engineering principles.

A key theme underlying my work is mechanisms that support crosscutting program modules. These are units of code that deliberately cut across each other's modularity boundaries. My belief is that this kind of modularity, when grounded in proper principles, can make complex systems significantly easier to develop and maintain. The goal of my work is to discover these principles and the mechanisms that can support them.

Selected Publications

Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin, " Aspect-Oriented Programming". In proceedings of the European Conference on Object-Oriented Programming (ECOOP), Finland. Springer-Verlag LNCS 1241. June 1997.

Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm and William G. Griswold

An Overview of AspectJ. In In Proceedings of ECOOP 2001.

Gregor Kiczales and Mira Mezini. Aspect-Oriented Programming and Modular Reasoning

To Appear in Proceedings of ICSE'05.

Gregor Kiczales, Jim des Riviyres, and Daniel G. Bobrow, "The Art of the Metaobject Protocol" MIT Press.

Latest CS Courses

2019 Winter

CPSC 110  –  Computation, Programs, and Programming
CPSC 110  –  Computation, Programs, and Programming

2018 Winter

CPSC 110  –  Computation, Programs, and Programming
CPSC 530K  –  Topics in Information Processing

2018 Summer

CPSC 110  –  Computation, Programs, and Programming

a place of mind, The University of British Columbia


ICICS/CS Building 201-2366 Main Mall
Vancouver, B.C. V6T 1Z4 Canada
Tel: 604-822-3061 | Fax: 604-822-5485
Undergrad program:
Graduate program:

Emergency Procedures | Accessibility | Contact UBC | © Copyright The University of British Columbia