SICSA DVF Seminar – Dr André G. Pereira

We had our first School seminar of the semester today. The speaker was André G. Pereira visiting Scotland on a SICSA DVF Fellowship. André is working on AI Planning problems, an area that is closely related to the work of our own Constraint Programming research group.

Title: Understanding Neuro-Symbolic Planning

Abstract: In this seminar, we present the area of neuro-symbolic planning, introducing fundamental concepts and applications. We focus on presenting recent research on the problem of learning heuristic functions with machine learning techniques. We discuss the distinctions and particularities between the “model-based” and “model-free” approaches, and the different methods to address the problem. Then, we focus on explaining the behavior of “model-free” approaches. We discuss the generation of the training set, and present sampling algorithms and techniques to improve the quality of the training set. We also discuss how the distribution of samples over the state space of a task, together with the quality of its estimators, are directly related to the quality of the learned heuristic function. Finally, we empirically detail which factors have the greatest impact on the quality of the learned heuristic function.

Biography: Dr. André G. Pereira is a professor at the Federal University of Rio Grande do Sul, Brazil. His research aims to develop and explain the behavior of intelligent systems for sequential decision-making problems. Dr. Pereira has authored several papers on top-tier venues such as IJCAI, AAAI, and ICAPS. These papers contribute towards explaining the behavior of heuristic search algorithms, how to use combinatorial optimization-based reasoning to solve planning tasks, and how to use machine learning techniques to produce heuristic functions. Dr. Pereira is a program committee member of IJCAI and AAAI. His doctoral dissertation was awarded second place in the national Doctoral Dissertation Contest on Computer Science (2017), and first place in the national Doctoral Dissertation Contest on Artificial Intelligence (2018). Dr. Pereira advised three awarded students on national events, including first place and finalist in the Scientific Initiation Work Contest (2018, 2022), and finalist in the Master Dissertation Contest on Artificial Intelligence (2020).

Virtual Open Worlds appear in The Herald

Alan Miller and The Virtual Open Worlds team appeared in The Herald earlier this month promoting their digital reconstruction of Fort William for the West Highland Museum

Using VR headsets, the team created a fully immersive virtual reality model of the old fort in Fort William in the days leading up to the Battle of Culloden on April 16, 1746.

 

 

 

 

 

A fully-funded, PhD position is now available at the AI research group

This fully-funded position will aim to improve both the modelling capabilities and the solving performance when confronting Automated Planning problems. We seek motivated candidates with a strong background in Computer Science, with excellent programming skills and some previous knowledge and experience in solving combinatorial optimisation problems.

Please take a look at the instructions on on how to apply.

The University of St Andrews is the top university in Scotland and second in the UK in The Times and Sunday Times Good University Guide 2023. Last year St Andrews was ranked number one in the UK, the first time in the near 30-year history of the Guide, or any UK ranking, that any university has been placed above those of Oxford and Cambridge.

If you are interested in either knowing more or have any informal enquiry, please do get in touch with Joan Espasa Arxer via email: jea20@st-andrews.ac.uk

The deadline for applications is the 1st of March 2023. 

Fully funded PhD scholarship: Trustworthy Refactoring Tools for Haskell Programs

Supervisor: Dr Christopher Brown

Proposal and Context

Software is large and complex. Ubiquitous systems, such as weather forecasting, medical imaging, advanced AI and big-data processing are extremely expensive and time-consuming for software companies to produce. Moreover, they often comprise many subtle bugs that can have disastrous consequences, are difficult to find, and difficult or impossible to fix. What developers need are specialised software refactoring tools that help them develop these important and complex systems in a safe and semi-automated way, reducing developer time, human error and overall increasing productivity, saving companies and customers money, and providing robust, safe, systems that have been developed in a responsible and trustworthy way.

Refactoring is the process of changing the structure of software without changing what it does: in effect, refactoring is about helping the programmer re-purpose their code to make it more understandable, accessible, or amenable to further change in the program’s design. It is often a process that developers use on a daily basis by manually changing code to reflect an API change, re-purposing methods, eliminating duplicated code, remaining variable parameters and function names, generalising functions, etc.  However, this process is rather tedious and cumbersome to apply manually: effecting a structural change that could potentially affect millions of lines of code across thousands of files is inevitably error – prone.

The advent of refactoring tool-support provides developers with automated transformations that they can apply to their code base, usually through an existing IDE interface. Refactoring tools, on the other hand, provide a way to apply refactorings across an entire code base in a semi-automatic way: they rely on the user to make certain choices about which refactorings to perform but are automatic in their underlying machinery. This automated underlying machinery means that both simple and complex refactorings can be applied to large code bases comprising thousands of files and millions of lines of code instantly.

However, automated tools are prone to bugs. This has the potentially disastrous consequence of a refactoring tool refactoring a program into one that contains subtle bugs or changes in behaviour. Despite the obvious implication that this will refactor software to contain, perhaps, subtle and difficult-to-spot bugs, it also erodes developers’ confidence in using refactoring —and general software tools— in general. Furthermore, a refactoring that introduces errors or is not trustworthy requires the programmer to inspect the transformed code, therefore taking out the benefit of using an automated tool in the first place. The problem is also amplified in that refactoring tools are extremely cumbersome, laborious and difficult in themselves to implement, especially over large programming languages, such as Haskell. This makes the refactorings deployed in such tools limited, both in number and applicability.

What is needed is to answer the following research questions:

  1. How can we provide an automated approach of implementing refactoring tools, via compositionality and proof search?
  2. How can we have the means to generate new refactorings easily that are safe and trusted by the developers that require them?
  3. How can we provide a means to generate soundness proofs that the refactorings are safe and verified, in an automated way?

Exploratory Ideas

The PhD will be exploratory in nature. Here are some ideas for research directions to investigate as part of the PhD:

  1. Formally characterise a number of refactorings for Haskell and prove properties of their general soundness.
  2. Develop a fully verified refactoring tool that encodes general soundness proofs as part of its implementation using e.g., Dependent Types for the full Haskell standard.
  3. Model a fully verified static and functional semantics for Haskell using e.g., Dependent Types.
  4. Provide a fully generalised theory of the formalisation of refactoring tools for e.g., Haskell.
  5. Provide an automated technique to find refactorings and proofs of refactorings, via e.g., proof search and compositionality of sub-proofs.
  6. Evaluate the applicability of the approach on a number of use-cases and domains, from a variety of languages, across a different number of verticals.

Supervisor and Background

The PhD project is to be supervised by Dr Christopher Brown, a lecturer in the school of computer science who has over 18 years of experience working in the field of refactoring, program transformation and functional programming. Dr Brown contributed to the original HaRe (Haskell Refactorer) system, developed at the university of Kent, and has since developed a number of new refactoring tools for a variety of languages, including Haskell, Erlang and C/C++ for introducing and tuning parallel programs. Dr Brown also works in the field of formal semantics, with prior work on formalising refactorings and using types to reason about e.g., extra functional properties of imperative systems for embedded languages.

The PhD project fits directly with the research vision of the supervisor, who is also working on building refactoring tools for dependently typed languages, such as Idris and Pi-Forall.

The Programming Languages Research Group

The Programming Languages Research Group has a long history in functional programming and type theory. This project would directly fit with the group’s general vision of:

  1. Making programming languages more accessible to experienced and inexperienced programmers alike.
  2. Providing tool-support to make programming more accessible to inexperienced programmers.
  3. Using types to formalise general soundness of programming language properties and semantics.
  4. Providing verified refactoring tooling for functional programs.

To apply

Informal inquiries can be directed to Chris Brown. Formal applications can be made through the School’s postgraduate research portal.

The deadline for applications is 1 March 2023.

Congratulations Rosa!

Congratulations to Rosa Filgueira who has been awarded with the UK Young Academy (UKYA) membership

The UK Young Academy’s first cohort brings together members from across academia, charity organisations and the private sector, to galvanise their skills, knowledge, and experience to find innovative solutions to the challenges facing societies now and in the future.

PhD opportunity: Interdisciplinary approaches for improving biodiversity assessments using remote sensors

Funded PhD opportunity.

The project will be heavy on state of the art machine learning with applications to statistical ecology. The project will be jointly supervised by the Schools of Maths and Stats (Alison Johnston, Chris Sutherland) and Computer Science (Kasim and Oggie) and potentially fully funded by CREEM.

Strong applicants with experience with deep learning and strong maths background are particularly welcome to apply.

Research hub considers response to life beyond Earth

The new SETI Post-Detection Hub, coordinated by Dr John Elliott, an honorary research fellow of the School of Computer Science has gathered widespread press interest, across UK, Europe, USA, Canada, South America and South East Asia.

The Hub hosted by the Centre of Exoplanet Science and the Centre for Global Law and Governance of the University of St Andrews, will act as a coordinating centre for an international effort bringing together diverse expertise across both the sciences and the humanities for setting out impact assessments, protocols, procedures, and treaties designed to enable a responsible response should we discover intelligent life forms beyond our planet.

More information about the hub can be found in the university press release