David Pearce

David Pearce profile picture

Associate Professor School of Engineering and Computer Science

Teaching in 2020


MEng (Hons), PhD (Imperial)

Research Interests

My primary research areas are in programming languages, compilers and also program analysis.

I am particularly interested in tools and languages that eliminate software errors, especially when this occurs at compile time. I have recently developed a new state-of-the-art programming language called Whiley, which performs compile-time checking of constraints. Please visit the Whiley web site for more information on this programming language.

Take a look at my personal web page for more information on the projects I have worked on, including publications and technical reports.


For a list of my recent publications, please see the Publications Database.


I studied at Imperial College in London, where I obtained my undergraduate degree and PhD.

Algorithm / Theory Conferences:

  • Workshop on Experimental and efficient Algrothims (WEA):
  • International Symposium on Symbolic and Algebraic Computation (ISSAC):
  • Computing and Combinatorics Conference (COCOON):
  • Workshop on Algorithms and Data Structures (WADS) / Scandinavian Workshop on Algorithm Theory (SWAT):
  • Analysis of Algorithms (AofA)
  • Fundamentals of Computation Theory (FCT)
  • European Symposium on Algorithms (ESA):
  • IEEE Foundations of Computer Science (FOCS):
  • Conference on Graph Drawing (GD):
  • International Symposium on Algorithms and Computation (ISAAC):
  • Australasian Workshop on Combinatorial Algorithms (AWOCA):
  • ACM-SIAM Symposium on Discrete Algorithms (SODA):
  • The Australasian Theory Symposium (CATS):
  • Symposium on Theoretical Aspects of Computer Science (STACS):
  • ACM Workshop on Algorithm Engineering and Experiments (ALENEX):
  • ACM Symposium on Theory of Computing (STOC):
  • See also: Theory Calendar


Programming Language Journals:
  • Transactions On Programming Languages and Systems Link
  • Transactions on Architecture and Code Optimization (TACO) link
  • Software Practice and Experience Link
  • Science of Computer Programming Link
  • Transactions on Aspect-Oriented Software Development Link

Algorithm / Theory Journals:
  • SIAM Journal of Computing Link
  • Acta Informatica Link
  • Algorithmica Link
  • Theoretical Computer Science Link
  • Information Processing Letters Link
  • Journal of Algorithms Link
  • ACM Transactions on Algorithms Link
  • Journal of Graph Algorithms and Applications Link
  • Nordic Journal of Computing Link

  • Journal of Experimental Algorithmics Link

See also various lists: 1 2

Funding Opportunities

  • BuildIT link
    • BuildIT's task is to grow and strengthen the ICT research community in New Zealand. This initiative focuses on the development of young and emerging researchers to ensure a solid basis for the future of ICT research.
  • Marsden Fund Link
  • Marie-Curie Fellowship (EU FP7) NZ Link (deadline 19th August 2008)
    • 2 or 3 year grants for working at EU research institutions, or bring EU researchers outside the EU.
  • European Cooperation in Science and Technology (COST) Link
    • The arrangement provides for travel grants of up to $NZD5,000 each to supplement travel and subsistence expenses for New Zealand researchers to travel to Europe.
    • See Action IC0701: Formal Verification of Object-Oriented Software Link
  • The International Science and Technology (ISAT) Linkages Fund Link (deadline was July 2008)
    • The fund facilitates bilateral research through the provision of funding for New Zealand researchers to travel overseas or for overseas researchers to travel to New Zealand to work on joint projects.
  • The Charles Fleming Fund Link (deadline was 1 May 2008)
    • Travel Award. Up to $6,000 available annually to support a scientist(s) or technologist(s) to travel and attend scientific congresses, assemblies, or committees for the furtherance of science or technology.

  • General Links
  • Querying
  • Relationships
  • Type inference in Java
    • JVer: A Java Verifier
    • Inferring Object Invariants
    • Non-null References by Default in the Java Modeling Language
    • ESC/Java Static Checker for Java.
    • JML
    • Semantic Type Qualifiers, Brian Chin, Shane Markstrum, and Todd Millstein.
  • Composite Types
    • Extented ML --- a framework for specification and formal development of Standard ML programs.
    • Expressive, Efficient instance variables. J. Dean, D. Grove, C. Chambers and V. Litvinov.
    • JML
    • Typestates for Object, Robert DeLine and Manual Fahndrich, ECOOP 2004.

Library of Dave

Because I have so many books. Not!

  • TimJones
    • Piece's Programming Languages Types Book