Gregor Kiczales


Office Phone #

Academic Information

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-).


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.

Research Interests

programming languages
computer science education

Research Groups

SPL: Software Practices Lab

Latest Courses

2020 Winter

CPSC 110 - Computation, Programs, and Programming

2020 Summer

CPSC 110 - Computation, Programs, and Programming

2018 Winter

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

2018 Summer

CPSC 110 - Computation, Programs, and Programming