David James Pearce

Citizenship: British, Tel: +64-(0)44635833 Email: [email protected], Website: www.mcs.vuw.ac.uk/~djp Education Oct ‘00- Imperial College, University of Doctor of Philosophy,2005 Present SupervisedLondon, by UK Dr. Paul Kelly, an investigation into various aspects of a context- insensitive pointer analysis for ‘C’. The main focus has been on improving convergence time through online algorithms for topological order and strongly connected components. Oct ‘96-Jun Imperial College, University of MEng Computing (1st class) ‘00 ALondon, four-year UK course leading to a Masters degree in Computer Science. Final year project lead to a paper presented at the TOOLS 2002 conference [PKFH02]. Member of winning group for 3rd year project prize, sponsored by British Telecom. Experience Jul ’04 Victoria University of Wellington, Wellington, NZ Full-time lecturer in Computer Apr ‘04 IBM Hursley,Science Winchester, UK 3 month internship working under Robert Berry on AspectJ Jun ‘02 Bell Laboratories, Lucent Technologies, NJ, USA 11 weeks working under Oskar Mencer on the ASC project for Field- Programmable Gate Arrays. Developed a SUIF 1 compiler pass for translating C programs into the ASC intermediate language. Apr ‘99 Philips Research Laboratories, Redhill Six months development with Microsoft Visual C++, Win32 API and Windows CE, which formed the basis of an experiment in Human-Computer interaction discussed in the following paper: Jonny Farringdon, Vanessa Oni, Chi Ming Kan & Leo Poll. (1999) "Co-Modal Browser - An Interface for Wearable Computers." In Proc. of IEEE International Symposium on Wearable Computers, October 1999. Skills Excellent knowledge of C/C++, Prolog and SUIF research compiler. Good experience with Java, UNIX, x86 Assembler, HTML, LaTex and Haskell. Extra-Curricular Avid Rugby player from age seven. Currently playing for Ealing RFC 1st XV. Two years as club captain of Imperial College RFC provided managerial experience. References Professor Chris Hankin, Director of Research, Department of Computing, Imperial College of Science, Technology and Medicine, Exhibition Road, London SW7 2AZ. Email: [email protected] Dr. Paul Kelly, Department of Computing, Imperial College of Science, Technology and Medicine, Exhibition Road, London SW7 2AZ. Email: [email protected] Dr. Oskar Mencer, (formerly Bell Labs, Murray Hill, NJ, USA). Department of Computing, Imperial College of Science, Technology and Medicine, Exhibition Road, London SW7 2AZ. Email: [email protected]

Publications – refereed journal articles

David J. Pearce, Paul H.J. Kelly and Chris Hankin. Efficient Field-Sensitive Pointer Analysis for C. In ACM Transactions on Programming Languages and Systems (TOPLAS), volume 30(1), 2007. © ACM Press. (CoRE journal ranking: A+)

David J. Pearce, Matthew Webster, Robert Berry and Paul H.J. Kelly, Profiling with AspectJ. In Software: Practice and Experience, Volume 37(7), pages 747--777, 2007, Wiley. (CoRE journal ranking: B)

David J. Pearce and Paul H.J. Kelly. A Dynamic Topological Sort Algorithm for Directed Acyclic Graphs. In ACM Journal of Experimental Algoritmics (JEA), 1:1—25(1), 2007.

David J. Pearce, Paul H.J. Kelly and Chris Hankin. Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis. In the Software Quality Journal, volume 12(4):309-335, 2004, Kluwer Academic Publishers.

Publications – refereed conference papers ` Darren Willis, David J. Pearce and James Noble. Caching and Incrementalisation for the Java Query Language. In proceedings of the ACM conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA), to appear, 2008. (CoRE conference ranking: A+)

Chris Male, David J. Pearce, Alex Potanin and Constantine Dymnikov. Java Bytecode Verification for @NonNull Types. In Proceedings of the Conference on Compiler Construction (CC), volume 4959 of Lecture Notes in Computer Science, pages 229-244, 2008. © Springer-Verlag (CoRE conference ranking: A)

David J. Pearce and James Noble. Relationship Aspects. In Proceedings of the ACM conference on Aspect-Oriented Software Development (AOSD'06), pages 75--86, March 2006. © ACM Press. (CoRE conference ranking: A)

Darren Willis, David J. Pearce and James Noble. Efficient Object Querying for Java. In Proceedings of the European Conference on Object-Oriented Programming (ECOOP), pages 28--49, 2006. © Springer-Verlag. (CoRE conference ranking: A)

James Noble, Arno Schmidmeier, David J. Pearce and Andrew Black, Patterns of Aspect-Oriented Design. In Proceedings of the European Conference on Pattern Languages of Programs (EuroPLOP), pages 769— 796, July 2007, Bavaria. Hillside Publishers. Bennett Thompson, David J. Pearce and Gary Haggard, Visualising the Tutte Polynomial Computation. In Proceedings of the New Zealand Conference on Software Engineering (SIENZ), November 2007, Auckland.

David J. Pearce and James Noble, Relationship Aspect Patterns. In Proceedings of the European Conference on Pattern Languages of Programs (EuroPLOP), pages 531--546, July 2006, Bavaria. Hillside Publishers.

James Noble, Robert Biddle, Ewan Tempero and David J. Pearce, Towards a Semiotics of Object- and Aspect-Oriented Design. In Proceedings of the European Conference on Computing and Philosophy (ECAP), June 2006, Trondheim.

Dong-U Lee, Oskar Mencer, David J. Pearce and Wayne Luk. Automating Optimized Table-with-Polynomial Function Evaluation for FPGAs. In Proceedings of the fourteenth international conference on Field- Programmable Logic and its Applications (FPL04), LNCS v3203, pages 364--373, 2004. Springer-Verlag.

Oskar Mencer, David J. Pearce, Lee W. Howes and Wayne Luk, Design Space Exploration with A Stream Compiler, In Proceedings of the IEEE Conference on Field-Programmable Technology (FPT03), pages 270-- 277, December 2003, Tokyo. IEEE Computer Society Press.

David J. Pearce, Paul H.J. Kelly, Tony Field and Uli Harder. GILK: A dynamic instrumentation tool for the Linux Kernel. In Proceedings of the 12th International Conference on Computer Performance Evaluation, TOOLS 2002, LNCS v2324, pages 220--226, April 2002, London. Publications – refereed workshop papers

James Noble, David J. Pearce and Lindsay Groves, Introducing Software Modelling with Alloy at VUW. In Proceedings of the Workshop on Formal Methods in Computer Science Education (FORMED), pages 81-- 90, March 2008, Budapest.

Roshan Ramachandran, David J. Pearce and Ian Welch, AspectJ for Multilevel Security In Proceedings of the Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), pages 13--17, March 2006, Bonn (University of Virginia, Technical Report CS-2006-01).

David J. Pearce and Paul H. J. Kelly. A dynamic algorithm for topologically sorting directed acyclic graphs, In Proceedings of the Workshop on Efficient and experimental Algorithms (WEA’04), LNCS v3059, pages 383-398, May 2004, Rio de Janerio. Springer-Verlag. (CoRE conference ranking: B)

David J. Pearce, Paul H. J. Kelly and Chris Hankin. Efficient Field-Sensitive Pointer Analysis for C, In Proceedings of the ACM workshop on Program Analysis for Software Tools and Engineering (PASTE’04), pages 37-42, June 2004, Washington DC. ACM Press. (CoRE conference ranking: B)

David J. Pearce, Paul H. J. Kelly and Chris Hankin. Online Cycle Detection and Difference Propagation for Pointer Analysis. In Proceedings of the third international IEEE Workshop on Source Code Analysis and Manipulation (SCAM’03), pages 3—12, September 2003, Amsterdam. IEEE Computer Society Press.