PhD students examined

  • Ross Phillips - The predictive power of social media within cryptocurrency markets (Internal Examiner, UCL, 2019)
  • Qasim Nasar-Ullah - High Performance Parallel Financial Derivatives Computation (Internal Examiner, UCL, 2014)
  • Ayub Hanif - Computational Intelligence Sequential Monte Carlos for recursive Bayesian Estimation (Internal Examiner, UCL, 2013)
  • Yasin Rosowsky - Spurious regions in financial space: pattern recognition for foreign exchange forecasting (Internal Examiner, UCL, 2013)
  • Gary Doctors - Towards patient-specific modelling of cerebral blood flow using lattice-Boltzmann methods (Internal Examiner, UCL, 2011)
  • Behzad Behzadan - MINES: Mutual Information Neuro-Evolutionary System (Internal examiner, UCL, 2010)
  • Andrew Cheadle - Soft Real-time Garbage Collection for Dynamic Dispatch Languages (Internal examiner, Imperial College London, 2010)
  • Sebastien Marion - Using Class-Level Static Properties and Data Mining to Predict Object Lifetimes (External examiner, University of Kent, 2009)
  • Trevor A. Graham - The expansion of mutant clones in tumorigenesis (Internal examiner, UCL, 2009)
  • Kun (Max) Jiang - MILCS: A Mutual Information based Learning Classifier System (Internal examiner, UCL, 2009)
  • Adrian Ramirez-Cabrera - An Extension of the Strong Typing Genetic Programming Model (External examiner, MPhil, University of Manchester, 2000)
  • Benoit Lanaspre - Static Analysis for Distributed Prograph (External examiner, University of Southampton, 1997)
  • Jin Yang - Co-ordination Based Structured Parallel Programming (Internal examiner, Imperial College London, 1997)
  • Patrick J. Wright - Optimised Redundant Cell Collection for Graph Reduction (Internal examiner, UCL, 1993)
  • David Lillie - Polymorphic Subtype Inference in Combinator Languages (Internal examiner, Imperial College London, 1992)
  • Guido K. Jouret - Exploiting Data-Parallelism in Functional Languages (Internal examiner, Imperial College London, 1991)

PhD students supervised

PhD students supervised (first supervisor)

  • Leo Carlos-Sandberg - 2017-

  • Jose Gonzalez (part time) - 2017-

  • Yang Gu - 2011-2013 - withdrew

  • Samet Gogus (Barclays Treasury, part-time) - 2007-2009 - Credit risk - withdrew

  • Ghada Hassan (Egyptian Culture Bureau) - "Multiobjective Genetic Programming for Financial Portfolio Management in Dynamic Enviroments|" PhD awarded 2010 - now a lecturer at Cairo University

  • Chih-Chun Chen (EPSRC DTA) - "Complex Event Types for Agent-Based Simulation" PhD awarded 2009 - now a postdoctoral researcher at Centre d'analyse et de matheatique sociales

  • David Coffin (EPSRC) - 2004-2006 - Genetic Algorithms search space decomposition - subsequently changed research direction and supervisor in 2006

  • Wei Yan (industry) - "Evolving Robust Genetic Programming Solutions in Dynamic Environments - with a case study in hedge fund stock selection in an emerging market" PhD awarded

  • Katie Bentley (industry / DTA) - "Adaptive Behaviour through Morphological Plasticity in Natural and Artificial Systems" PhD awarded 2006 - now Assistant Professor, Computational Biology Laboratory, Beth Israel Deaconess Medical Center, Harvard Medical School

  • Lee Braine (EPSRC CASE) - "Design and Implementation of an Object-Oriented Functional Language" PhD awarded 2000 - now with the CTO Office, Barclays Investment Bank

  • Kanta Vekaria (EPSRC 97701326) - "Selective Crossover as an Adaptive Strategy for Genetic Algorithms" PhD awarded 2000 (link to thesis) - now principal engineer at Nokia

  • Tina Yu - "An Analysis of the Impact of Functional Programming Techniques on Genetic Programming" PhD awarded 1999 (link to thesis) - now Associate Professor at the Memorial University of Newfoundland, Canada

  • Simon Courtenage (EPSRC 90311629) - "The Analysis of Resource Use in the Lambda-Calculus by Type Inference" PhD awarded 1995 (link to thesis) - now Principal Lecturer at the University of Westminster

  • Stuart Clayman (SERC) - "Developing and Measuring Parallel Rule-Based Systems in a Functional Programming Environment" PhD awarded 1993 (link to thesis) - now Senior Research Fellow at UCL

  • David Parrott - "Synthesising Parallel Functional Programs to Improve Dynamic Scheduling" PhD awarded 1993 - now Chief Architecture Officer at Thomson Reuters

Other academic supervision

  • 2006-2010 Nuno Rocha Nene - PhD student - 2nd supervisor
  • 2005-2008 Manish Patel - PhD student - 2nd supervisor
  • 2004-2005 Yoav Zibin - RA - principal investigator
  • 2004-2005 Xiaowen Liu - RA - principal investigator
  • 1995-1997 Steven Gould - RA - principal investigator
  • 1995-1997 Peter Lidwell - RA - principal investigator -

Industry Focus

  • Securities Settlement Systems
    • Specialist consultant to Accenture
    • Cedel Bank (Clearstream) Securities Settlement algorithms - multilateral net settlement with automated lending
    • Optimal Netting (TM) algorithms and architecture
    • CRESTCo circles algorithms - detecting cyclic transaction dependencies during gross settlement
  • Banking Payments Systems
    • Specialist consultant to Accenture
    • Lloyds TSB Straight Through Payments system - architecture design
  • Electronic Trading Architectures
  • System Simulation and Algorithm Design
    • Specialist consultant to Accenture
    • Executable specification languages for algorithm simulation and testing on real data
    • Semi-automated translation of algorithms from high-level specification into C++
  • Artificial Intelligence techniques for stock picking (Genetic Programming)
  • Systemic Risk and Regulatory Data Management (JWG)
  • Capacity Exchanges (Z/Yen)
  • Law (Legistics)
  • Smart phone memory management (Symbian)
  • Oilfield simulation (Amoco)

Dynamic Memory Management

Dynamic Memory Management (DM) is essential to the implementation of functional languages and many other modern programming languages. Prior to Clack's research, DMM could either be fast or small (i.e. have low fragmentation) but not both. DMM is a very mature research area, and to identify a new algorithm is a considerable challenge. By using a tree bitmap representation and altering the search semantics, a best-fit free-list memory allocator was created that provides both a ten times improvement in worst-case performance and excellent best-case performance. The allocator was patented:

  • A Data Structure, Memory Allocator and Memory Management System (Clack, UK Patent Application number 9924061.6, filing date 11th October 1999. PCT application number WO0231660, filing date 10th October 2001. UK and EU Patent Offices.

Lexical Profiling

Manual optimisation of run-time time and memory usage is problematic for lazy Functional Programing (FP) languages. FP programmers do not specify detailed memory allocations, and function evaluation may be interlaced dynamically; the mapping between the source code and what happens at run-time is complex. Is it possible to provide meaningful and intuitive profiling information in such a context? and if so how? This target behaviour was achieved by attributing time and space costs to portions of the source code as though strict evaluation had occurred, whilst reporting the quantitative measures of the actual lazy evaluation. The following paper provided the design and the first implementation of this technique for an interpreted language, together with suggestions of how to implement it for a compiled language. The technique was adopted and further developed by the profiler for the popular GHC functional language compiler.

  • Lexical Profiling: Theory and Practice (Clack, Clayman and Parrott, Journal of Functional Programming, 5(2):225-277, Cambridge University Press, ISSN 0956-7968, 1995

Christopher D. Clack
Department of Computer Science
Gower Street