abc is a joint project between the Programming Tools Group at Oxford University, UK and the Sable Research Group at McGill University, Quebec. abc is built on a number of existing efforts: - AspectJ language design - ajc runtime library and testing harness - JastAdd, an exttensible compiler construction framework - Polyglot, an extensible compiler framework for Java - Soot, a Java optimisation framework - Jedd, a Java extension for Decision Diagrams - Paddle, a BDD-based analysis toolkit for Java - JavaBDD, a BDD package for Java In alphabetical order of surname, the following people have contributed directly to abc: Chris Allan - Original tracematches design Pavel Avgustinov - Designed and implemented the abc test harness - Implemented privileged aspects along with a generic accessor method infrastructure - Re-wrote the lexer to make an LGPL'd version - Improved Soot's handling of large methods - Co-implemented tracematches in abc - Co-implemented JastAdd frontend for abc (abc-ja) Aske Simon Christensen - Designed the overall compiler structure, and the connection between the frontend and backend - Designed and implemented the pattern matcher - Implemented declare parents and declare precedence Torbjorn Ekman - Co-implemented JastAdd frontend for abc (abc-ja) Christopher Goard - prototype implementation of cflow counters in ajc Laurie Hendren - Project leader (McGill) - Grammar, Scanner and Parser - Initial weaver John Jorgensen - Soot support Sascha Kuzins - Designed and implemented the around weaver Jennifer Lhotak - Java to Jimple - initial weaver Ondrej Lhotak - initial weaver - Work on Soot class and method handling - interprocedural cflow analyses Oege de Moor - Project leader - Implemented frontend - Designed and implemented intertype weaver - Designed and implemented large parts of the tracematch analyses Neil Ongkingco - Designed and implemented open modules for AspectJ. Jane Panangaden - Poinsettiacus logo design - General consultant Damien Sereni - Simple cflow optimisations (counters, instance sharing) Ganesh Sittampalam - Designed and implemented pointcut matcher - Implemented large portions of the weaver - Various minor frontend fixes - Some small backend optimisations - Work on Soot class handling Julian Tibble - EAJ language - Co-implemented tracematches in abc - Co-implemented JastAdd frontend for abc (abc-ja)