Project Description
Fixing software defects is a time-consuming and costly activity. One of the main reasons why software debugging is so expensive is that it still remains mainly a manual activity. Fixing a bug is a complex process, which consists of many different steps including finding and understanding the underlying cause of the bug, identifying a set of changes that address the bug correctly, and finally verifying that those changes are correct. Automating this process (or parts of it) can potentially reduce the time, cost and effort it takes to fix bugs, and therefore the quality of the produced software.
The aim of this project is to design and implement methods and tools that are capable of automatically diagnosing and fixing software bugs. While there is previous work on automated program repair (APR), there are still limitations, which hinder the adoption of APR techniques by the industry, such as correctness of generated software patches and scalability. This project will attempt to overcome these limitations by combining existing techniques with AI techniques such as machine learning and genetic algorithms.
Research supervision
If successful, you will conduct your research under the supervision of Dr. Nicholas Matragkas (www-users.cs.york.ac.uk/~nd118/) and Prof. Dimitris Kolovos (www-users.cs.york.ac.uk/~dkolovos/). The project will contribute to the agenda of work of the MANATEE EPSRC project and will involve interaction with IBM UK, which is the industrial partner of the project.
Research Environment
You will be part of a large and internationally leading team who specialise in Software Engineering and Software Analytics, and it is part of the Department of Computer Science. The team have a substantial track record in Software Engineering research, and in the past have been very successful at delivering research results as part of big, collaborative research projects (e.g. OSSMETER, CROSSMINER, etc.). The team includes five permanent members of academic staff, five research associates, and 20 PhD/EngD students. The team is highly supportive and encourages cross-project collaboration, especially on joint publications and developing new research projects. In this project, you will collaborate closely with a research associate working on the EPSRC-funded project titled “Automatic Repair of Natural Source Code” (MANATEE). MANATEE is in collaboration with IBM UK.
Funding requirements
To be considered for this funding you must:
● meet the entrance requirements for a PhD in Computer Science
● be eligible to pay home/EU fees and meet EPSRC funding eligibility requirements
We will look favourably on applicants that can demonstrate knowledge of machine learning or program analysis, and who have excellent programming skills.
Funding Notes
If successful, you will be supported for three years. Funding includes:
£14,777 (2018/19 rate) per year stipend,
Home/EU tuition fees.
1. Apply to study
- You must apply online for a full-time PhD in Computer Science.
- You must quote the project title (AI for Automated Program Repair) in your application.
2. Provide a personal statement of 500-1,000 words with your initial thoughts on the research topic. A formal research proposal is not required.
Deadlines
There is no formal application deadline. Applications are processed as soon as they are received and the position will remain open until a suitable candidate is found. Candidates who can start April 2019 are preferred, but all applications will be considered on their merits.
Informal enquiries
Project enquiries:
- Dr Nicholas Matragkas: nicholas.matragkas@york.ac.uk
Application enquiries:
- cs-pg-admissions@york.ac.uk
- +44 (0)1904 325404