Jari Fowkes

Computational Mathematician

Jaroslav Fowkes is a researcher in the computational mathematics group at STFC Rutherford Appleton Laboratory. He did his DPhil at Oxford with Nick Gould and Chris Farmer on Bayesian Global Optimization, before moving on to postdocs in the Mathematics and Informatics Schools at Edinburgh and the Numerical Analysis Group at Oxford.

His principal research interests lie in developing numerical algorithms that bridge the gap between optimization and machine learning. He is currently researching novel algorithms for ptychographic phase retrieval and for nonlinear least-squares data fitting problems arising from the STFC facilities. He previously worked on approximation algorithms for statistical pattern mining and their applications to source code. His DPhil research investigated algorithms for Bayesian global optimization in order to tackle the optimal well placement problem in oil reservoirs.

  • Optimization
  • Machine Learning
  • Data Mining

ORCID id: 0000-0002-8048-4572

Recent Publications:

  • Gaussian Processes for Unconstraining Demand. I. Price, J. Fowkes and D. Hopman. European Journal of Operational Research, vol. 275, no. 2, pp. 621–634, 2019.

  • A Subsequence Interleaving Model for Sequential Pattern Mining. J. Fowkes and C. Sutton. KDD 2016 (18% acceptance rate).

  • A Bayesian Network Model for Interesting Itemsets. J. Fowkes and C. Sutton. PKDD 2016 (28% acceptance rate).

  • Autofolding for Source Code Summarization. J. Fowkes, P. Chanthirasegaran, R. Ranca, M. Allamanis, M. Lapata and C. Sutton. IEEE Transactions on Software Engineering, vol. 43, no. 12, pp. 1095–1109, 2017.

  • Parameter-Free Probabilistic API Mining across GitHub. J. Fowkes and C. Sutton. FSE 2016 (27% acceptance rate).

  • TASSAL: Autofolding for Source Code Summarization. J. Fowkes, P. Chanthirasegaran, R. Ranca, M. Allamanis, M. Lapata and C. Sutton. ICSE 2016 Demo Track (32% acceptance rate).

  • Branching and Bounding Improvements for Global Optimization Algorithms with Lipschitz Continuity Properties. C. Cartis, J. M. Fowkes and N. I. M. Gould. Journal of Global Optimization, vol. 61, no. 3, pp. 429–457, 2015.

  • A Branch and Bound Algorithm for the Global Optimization of Hessian Lipschitz Continuous Functions. J. M. Fowkes, N. I. M. Gould and C. L. Farmer. Journal of Global Optimization, vol. 56, no. 4, pp. 1791–1815, 2013.

  • Bayesian Numerical Analysis: Global Optimization and Other Applications. J. M. Fowkes. DPhil Thesis, Mathematical Institute, University of Oxford, 2012.

  • Optimal Well Placement. C. L. Farmer, J. M. Fowkes and N. I. M. Gould. Proceedings of the 12th European Conference on the Mathematics of Oil Recovery, 6–9th September 2010.

  • PyCUTEst: Python interface to CUTEst - PyCUTEst is a Python interface to CUTEst, a Fortran package for testing optimization software. It is based on the interface originally developed for CUTEr by Prof. Arpad Buermen.

  • oBB: Overlapping Branch and Bound - A general purpose parallel global optimization algorithm for surrogate functions arising in Bayesian optimization. From our paper (and follow up paper with improved bounds) on the parallel global optimization of functions with Lipchitz continuous gradient or Hessian.

  • IIM: Interesting Itemset Miner - IIM is a novel algorithm that mines the itemsets that are most interesting under a probablistic model of transactions. It is able to efficiently infer the interesting itemsets directly from the transaction database using structural EM. This is an implementation of the itemset miner from our probabilistic itemset mining paper.

  • ISM: Interesting Sequence Miner - ISM is our follow up algorithm that mines the most interesting sequences under a probablistic model of sequences. Like our previous algorithm, it efficiently infers the interesting sequences directly from the database. This is an implementation of the sequence miner from our probabilistic sequence mining paper.

  • PAM: Probabilistic API Miner - PAM is a near parameter-free probabilistic algorithm for mining the most interesting API patterns from a list of API call sequences. PAM largely avoids returning redundant and spurious sequences, unlike API mining approaches based on frequent pattern mining. This is an implementation of the API miner from our probabilistic API mining paper.

  • TASSAL: Tree-based Autofolding Software Summarization ALgorithm - TASSAL is a tool for the automatic summarization of source code using autofolding. Autofolding automatically creates a summary of a source code file by folding non-essential code and comment blocks. This is an implementation of the code summarizer from our autofolding paper.