hero image
Jeremy Bradbury, PhD - University of Ontario Institute of Technology. Oshawa, ON, CA

Jeremy Bradbury, PhD Jeremy Bradbury, PhD

Associate Professor and Graduate Program Director, Computer Science, Faculty of Science | University of Ontario Institute of Technology

Oshawa, ON, CANADA

Computer science expert develops Canada’s first automatic bug repair for software programs



Increasing software sophistication in everything from mobiles phones and computers to vehicles, and smart appliances offers greater convenience and capabilities to consumers. Advances in technology also give way to software bugs that are increasingly difficult to find and fix. Jeremy Bradbury, PhD, Associate Professor and Graduate Program Director of Computer Science, leads Canada’s first research into automatic bug detection and repair. He heads UOIT’s Software Quality Research Lab, and has developed algorithms to automatically locate the most likely places in code where a bug exists, then modify the program to ensure the software continues to perform optimally.

A software testing and analysis expert, Dr. Bradbury’s research success means that his work remains undetected and is aimed at automatic repair of concurrency bugs, analysis of open source projects, learning debugging through games, prediction of mutation scores, testing of concurrent software using clone detection, and visualization of thread interleavings.

Many of today’s computers still run software that was written over a decade ago. Despite the release of faster processors, outdated software slows down overall computer use. Dr. Bradbury’s core research focuses on improving the quality of multicore processors to enable concurrent software to operate more efficiently. He also co-developed UOIT’s Human-Centred Computing Lab, designed for conducting controlled experiments that allow researchers to better understand and evaluate how people interact with leading-edge computer technology.

Dr. Bradbury joined UOIT 2007 as an Assistant Professor, and was appointed Undergraduate Program Director of Computer Science from 2011-13 where he developed a Computer Science program relevant to current technology and related to industry application and partners. For his work, he was named Associate Professor in 2013. In the classroom, Dr. Bradbury uses innovative technology and online platforms such as Slack and YouTube to engage students in computer science education.

Fascinated by the nature of problem-solving and computer-based applications, Dr. Bradbury received his Bachelor of Science in Computer Science and Mathematics, First Class Honours with Distinction in 2000 from Mount Allison University in Sackville, New Brunswick. He earned his Master of Science in Computing and Information Science and his Doctorate in Computer Science both from Queen’s University in Kingston in 2002 and 2007, respectively.

Industry Expertise (4)

Computer Software


Program Development


Areas of Expertise (12)

Concurrent/Multi-Core Software

Software Engineering

Software Quality Assurance

Software Testing

Static Analysis

Software Model Checking

Bug Detection

Software Metrics

Empirical Software Engineering

Artifical Intelligence

Generic Algorithms

Heterogeneous Computing

Accomplishments (6)

Teaching Representative, UOIT Board of Governors (professional)


Dr. Bradbury has been elected as a Teaching Representative on UOIT's Board of Governors for a three-year term from 2015-18.

RAISE 2012 Best Paper Award (professional)


Dr. Bradbury received the award for his paper Predicting Mutation Score Using Source Code and Test Suite Metrics, at the Workshop on Realizing Artificial Intelligence Synergies in Software Engineering.

Consortium for Software Enginnering Research (CSER) 2011 Best Poster Award (professional)


Awarded one of three Best Poster Awards at the 2011 CSER Fall Meeting for his work Eclipticon: Eclipse Plugin for Concurrency Testing.

SoftVis’10 Best Poster Award (professional)


Dr. Bradbury received this award for his poster An Interactive Visualization of Thread Interleavings at the 5th ACM Symposium on Software Visualization (SoftVis'10).

School of Computing Award for Excellence in Teaching Assistance (professional)


Dr. Bradbury received this award for his contributions to teaching at Queen's University from 2002-03.

Ian A. Macleod Award (personal)


Given to the graduate student who has made the greatest contribution to the intellectual and social spirit of the School of Computing, Queen's University, 2002-03

Education (3)

Queen's University: PhD, Computer Science 2007

Queen's University: MSc, Computing and Information Science 2002

Mount Allison University: BSc, Computer Science and Mathematics 2000

First Class Honours with Distinction

Affiliations (5)

  • Association of Computing Machinery (ACM)
  • ACM Special Interest Group on Software Engineering
  • Institute of Electrical & Electronics Engineers (IEEE)
  • IEEE Computer Society
  • Consortium of Software Engineering

Event Appearances (4)

Automatically Repairing Concurrency Bugs with ARC

1st International Conference on Multicore Software Engineering, Performance, and Tools  Saint Petersburg, Russia


Effectively Using Search-Based Software Engineering Techniques Within Model Checking and its Applications

2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering  San Francisco, California


Using Combinatorial Benchmark Construction to Improve the Assessment of Concurrency Bug Detection Tools

International Symposium on Software Testing and Analysis  Minneapolis, Minnesota


Predicting Mutation Score Using Source Code and Test Suite Metrics

2012 First International Workshop on Realizing Artificial Intelligence Synergies in Software Engineering  Zurich, Switzerland


Research Grants (2)

Testing and Analysis of Concurrent and Heterogeneous Computing Software

NSERC Discovery Grant $75000


This collaborative five-year research grant expands upon previous research in software testing and analysis in several key areas. This project aims to improve the quality of concurrent and heterogeneous (multicore + manycore) software, and develop better tools to improve the speed and accuracy of assessing this software through automatic testing and analysis techniques. Another key area of this project builds on creating enhanced algorithms for automatic bug detection and repair, as well as automatic debugging in which an algorithm can automatically locate code with the highest probability for a bug to exist.

Laboratory for Human-Centred Computer Science Research

Canada Foundation for Innovation Leaders Opportunity Fund $21152


Dr. Bradbury is principal investigator of this research in UOIT’s Human-Centred Control (HCC) Lab, which was designed for conducting controlled experiments that allow researchers to better understand and evaluate how people interact with leading-edge computer technology. Research in this lab falls under three main themes: information visualization, software engineering and computer security. In all three themes, a novel research approach focuses on the usability perspective of innovative prototypes and tools in new and emerging environments (e.g., mobile devices, large touch displays).

Courses (3)

Programming Workshop

CSCI 1060U, 1st Year Undergraduate Course

view more

Software Quality Assurance

CSCI 3060U, 3rd Year Undergraduate Course

view more

Development of Concurrent Software

CSCI 5100G, Graduate course

view more

Articles (1)

Assessment of Software Modelling Techniques for Wireless Sensor Networks: A Survey Sensors & Transducers Journal


Wireless Sensor Networks (WSNs) monitor environment phenomena and in some cases react in response to the observed phenomena. The distributed nature of WSNs and the interaction between software and hardware components makes it difficult to correctly design and develop WSN systems. One solution to the WSN design challenges is system modeling. In this paper, we present a survey of nine WSN modeling techniques and show how each technique models different parts of the system such as sensor behavior, sensor data and hardware. Furthermore, we consider how each modeling technique represents the network behavior and network topology. We also consider the available supporting tools for each of the modeling techniques. Based on the survey, we classify the modeling techniques and derive examples of the surveyed modeling techniques by using SensIV system.

view more