Philippa Gardner is a professor in the Department of Computing at Imperial and leader of the Program Specification and Verification Group. Her current research focusses on program verification: in particular, reasoning about Web programs (JavaScript and DOM) and reasoning about concurrent programs.

She completed her PhD thesis, supervised by Professor Gordon Plotkin FRS at Edinburgh in 1992. She moved to Cambridge in 1998 on an EPSRC Advanced Fellowship, hosted by Professor Robin Milner FRS. She obtained a lectureship at Imperial in 2001, and became professor in 2009. She held a Microsoft Research Cambridge/Royal Academy of Engineering Senior Fellowship from 2005 to 2010 at Imperial. She was the Director of the Research Institute in Automated Program Analysis and Verification, funded by GCHQ in association with EPSRC from 2013 to 2017.

Philippa directs the Research Institute on Verified Trustworthy Software Systems (VeTSS), funded by EPSRC, from 2017 to 2022. She also chairs the BCS awards committee, which decides the Lovelace medal (senior) and Roger Needham award (mid-career) for computer science and engineering.

Group Publications

  1. Towards Logic-based Verification of JavaScript Programs

    Proceedings of 26th Conference on Automated Deduction (CADE 26)

  2. Abstract Specifications for Concurrent Maps

    Proceedings of the 26th European Symposium on Programming (ESOP’17), pp. 964–990

  3. Modular Termination Verification for Non-blocking Concurrency

    Proceedings of the 25th European Symposium on Programming (ESOP’16), pp. 176–201

  4. Verifying Concurrent Graph Algorithms

    Proceedings of the 13th Asian Symposium on Programming Languages and Systems (APLAS’16), pp. 314–334

  5. DOM: Specification and Client Reasoning

    Proceedings of the 13th Asian Symposium on Programming Languages and Systems (APLAS’16), pp. 401–422

  6. Fault-tolerant Resource Reasoning

    Proceedings of the 13th Asian Symposium on Programming Languages and Systems (APLAS’15), pp. 169–188

  7. Reasoning about the POSIX File System: Local Update and Global Pathnames

    Proceedings of the 30th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’15), pp. 201–220

  8. Steps in Modular Specifications for Concurrent Modules (Invited Tutorial Paper)

    Proceedings of the 31st Conference on the Mathematical Foundations of Programming Semantics (MFPS’15), pp. 3–18

  9. A Trusted Mechanised Specification of JavaScript: One Year On

    Proceedings of the 27th International Conference on Computer Aided Verification (CAV’15), pp. 3–10

  10. CoLoSL: Concurrent Local Subjective Logic

    Proceedings of the 24th European Symposium on Programming (ESOP’15), pp. 710–735

  11. TaDA: A Logic for Time and Data Abstraction

    Proceedings of the 28th European Conference on Object-Oriented Programming (ECOOP’14), pp. 207–231

  12. A Trusted Mechanised JavaScript Specification

    Proceedings of the 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’14), pp. 87–100

  13. Local Reasoning for the POSIX File System

    Proceedings of the 23rd European Symposium on Programming (ESOP’14), pp. 169–188

  14. Abstract Local Reasoning for Concurrent Libraries: Mind the Gap

    Proceedings of the 30th Conference on the Mathematical Foundations of Programming Semantics (MFPS’14), vol. 308, pp. 147–166

  15. Views: Compositional Reasoning for Concurrent Programs

    • Thomas Dinsdale-Young
    • Lars Birkedal
    • Philippa Gardner
    • Matthew J. Parkinson
    • Hongseok Yang

    Proceedings of the 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’13), pp. 287–300

  16. Towards a Program Logic for JavaScript

    Proceedings of the 39th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’12), pp. 31–44

  17. A Simple Abstraction for Complex Concurrent Indexes

    Proceedings of the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’11), pp. 845–864

  18. Abstract Local Reasoning for Program Modules

    Proceedings of the 4th International Conference on Algebra and Coalgebra in Computer Science (CALCO’11), pp. 36–39

  19. Adjunct elimination in Context Logic for Trees

    Information and Computation, vol. 208(5), pp. 474–499

  20. Concurrent Abstract Predicates

    • Thomas Dinsdale-Young
    • Mike Dodds
    • Philippa Gardner
    • Matthew J. Parkinson
    • Viktor Vafeiadis

    Proceedings of the 24th European Conference on Object-Oriented Programming (ECOOP’10), pp. 504–528

  21. Abstraction and Refinement for Local Reasoning

    Proceedings of the 3rd International Conference on Verified Software: Theories, Tools, Experiments (VSTTE’10), pp. 199–215

  22. Reasoning About Client-side Web Programs: Invited Talk

    Proceedings of the 2010 EDBT/ICDT Workshops

  23. Small Specifications for Tree Update

    Proceedings of the 6th International Workshop on Web Services and Formal Methods (WS-FM’09), pp. 178–195

  24. Automatic Parallelization with Separation Logic

    Proceedings of the 18th European Symposium on Programming (ESOP’09), pp. 348–362

  25. Footprints in Local Reasoning

    Logical Methods in Computer Science, vol. 5(2)

  26. DOM: Towards a Formal Specification

    Proceedings of the ACM SIGPLAN Workshop on Programming Language Technologies for XML (PLAN-X’08)

  27. Local Hoare Reasoning about DOM

    Proceedings of the 27th ACM SIGMOD-SIGACT-SIGART Symposium on Principles of Database Systems (PODS’08), pp. 261–270

  28. Behavioural Equivalences for Dynamic Web Data

    Logic and Algebraic Programming, vol. 75(1), pp. 86–138

  29. Footprints in Local Reasoning

    Proceedings of the 11th International Conference on Foundations of Software Science and Computational Structures (FOSSACS’08), pp. 201–215

  30. Adjunct Elimination in Context Logic for Trees

    Proceedings of the 5th Asian Symposium on Programming Languages and Systems (APLAS’07), pp. 255–270

  31. Context Logic as Modal Logic: Completeness and Parametric Inexpressivity

    Proceedings of the 34th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’07), pp. 123–134

  32. Local Reasoning about Data Update

    Electronic Notes on Theoretical Computer Science, vol. 172, pp. 133–175

  33. Manipulating Trees with Hidden Labels

    Electronic Notes in Theoretical Computer Science, vol. 172, pp. 177–201

  34. Expressiveness and Complexity of Graph Logic

    Information and Computation, vol. 205(3), pp. 263–310

  35. An Introduction to Context Logic

    Proceedings of the 14th International Workshop on Logic, Language, Information and Computation (WoLLIC’07), pp. 189–202

  36. From Separation Logic to First-Order Logic

    Proceedings of the 8th International Conference on Foundations of Software Science and Computational Structures (FOSSACS’05), pp. 395–409

  37. Context Logic and Tree Update

    Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’05), pp. 271–282

  38. Modelling Dynamic Web Data

    Theoretical Computer Science, vol. 342(1), pp. 104–131

  39. Adjunct Elimination Through Games in Static Ambient Logic

    Proceedings of the 24th International Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS’04), pp. 211–223

  40. Behavioural Equivalences for Dynamic Web Data

    Proceedings of 3rd International Conference on Theoretical Computer Science (TCS’04), pp. 535–548

  41. Manipulating Trees with Hidden Labels

    Proceedings of the 6th International Conference on Foundations of Software Science and Computational Structures (FOSSACS’03), pp. 216–232

  42. Modelling Dynamic Web Data

    Proceedings of 9th International Workshop on Database Programming Languages (DBPL’03), pp. 130–146

  43. A Spatial Logic for Querying Graphs

    Proceedings of the 29th International Colloquium on Automata, Languages and Programming (ICALP’02), pp. 597–610