Jobs
My ads
My job alerts
Sign in
Find a job Career Tips Companies
Find

Acad108313

Bristol (City of Bristol)
University of Bristol
€40,000 a year
Posted: 21h ago
Offer description

This is an opportunity to join a team researching a new and exciting foundation for static type systems as part of the 3-year project Types for Incorrectness, led by Dr. Steven Ramsay. It is often said that a typical purpose of a static type system is to detect runtime errors at compile time, but very few systems are designed with this in mind. Indeed, traditional type systems are incapable of reasoning about programs with bugs: since well‑typed programs cannot go wrong, programs harbouring runtime errors simply don't exist as far as the type system is concerned. By contrast, two‑sided type systems (Ramsay and Walpole, POPL'24), a new generalisation of traditional static type systems, can both certify that correct programs are type safe, and certify that defective programs have a bug. This second ability underpins the use of type systems in precision bug‑finding, with zero false positives, and opens exciting possibilities for new type‑based static analyses for dynamic languages like Erlang, Elixir and Python. The Senior Research Associate role is expected to lead the investigation of the algorithmic aspects of these systems and the design and implementation of prototype tools for Erlang or Elixir. They will engage with our project partners to understand how Erlang/Elixir developers can make use of program analyses for bug finding and, ultimately, turn the theory of two‑sided type systems into a tool that can really benefit the community.


Responsibilities

* Designing and analysing algorithms for type inference.
* Designing and analysing type systems suitable for bug finding.
* Implementing prototype static analysis tooling.
* Authoring research papers suitable for venues in programming languages.
* Conducting case studies to evaluate potential impact.
* Engaging with the Erlang/Elixir community on relevant practical aspects of the project.


Qualifications

* Having a PhD in programming languages, logic, formal verification or a related field.
* Having some experience building programming language tooling (e.g. compilers, interpreters, program analysis tools, program synthesis tools, documentation generators) through research, teaching or hobby projects.
* Having some background in formal aspects of programming language theory, such as operational semantics, type systems, or program logics.
* Being able to communicate technical concepts clearly to both academic and non‑academic audiences.
* Being excited about the idea of making elegant theory work in practice, and building a tool that programmers will really use and value.
#J-18808-Ljbffr

Apply
Create E-mail Alert
Job alert activated
Saved
Save
Similar job
Counsellor required: university of bristol
Bristol (City of Bristol)
WhereToTalk
Counsellor
Similar job
Vacancy for senior archivist at university of bristol
Bristol (City of Bristol)
Digital Preservation Coalition
Archivist
Similar job
Vacancy for digital archive assistant at university of bristol
Bristol (City of Bristol)
Digital Preservation Coalition
Assistant
See more jobs
Similar jobs
jobs Bristol (City of Bristol)
jobs City of Bristol
jobs England
Home > Jobs > ACAD108313

About Jobijoba

  • Career Advice
  • Company Reviews

Search for jobs

  • Jobs by Job Title
  • Jobs by Industry
  • Jobs by Company
  • Jobs by Location
  • Jobs by Keywords

Contact / Partnership

  • Contact
  • Publish your job offers on Jobijoba

Legal notice - Terms of Service - Privacy Policy - Manage my cookies - Accessibility: Not compliant

© 2025 Jobijoba - All Rights Reserved

Apply
Create E-mail Alert
Job alert activated
Saved
Save