Skip to main content

Automatic Software Bug Detection and Fixing by Learning from Large Code Examples

PGR-P-377

Key facts

Type of research degree
PhD
Application deadline
Ongoing deadline
Country eligibility
International (open to all nationalities, including the UK)
Funding
Competition funded
Source of funding
University of Leeds
Supervisors
Dr Zheng Wang
Schools
School of Computing
<h2 class="heading hide-accessible">Summary</h2>

You are invited to apply for a PhD to start in October 2020. If your application is successful you will join the Distributed Systems and Services research group at the School of Computing at University of Leeds under the supervision of Dr Zheng Wang. This project seeks to build the first system to automatically detect and fix software bugs by learning from massive code examples. It will do so by combining natural language processing and compiler-based code analysis technologies to first extract the past development knowledge by mining open-sourced projects, and then use the learned knowledge to automatically detect and repair bugs for new programs. This project will create new methods, analyses, techniques and tools for an exciting vision that software development is highly automated. If successful, this project can free millions of software developers from the time-consuming, error-prone process of software debugging in the long-term.

<h2 class="heading hide-accessible">Full description</h2>

<p align="left">Software defects (or bugs) are a serious problem. Due to the drastic efforts involved in this process, countless software applications are shipped with many known and unknown bugs, which can crash critical computing systems or expose serious security vulnerabilities. As we are increasingly relying on computing systems, there is a critical need to find a better way to tackle software bugs.</p> <p align="left">We believe that there is a largely untapped resource that can help us tackle this problem. Billions of lines of code are readily available from millions of open-source projects hosted in repositories like GitHub, many of which are of professional quality. Hundreds of thousands of code revisions are committed into these open-source projects daily, where many of them are good examples of bug repair solutions. This wealth of information offers a new way to tackle software bugs, by analysing code revisions related to software bugs and their repair solutions, we can discover the root cause of bugs and learn how to fix them. Through aggregating and leveraging these past development efforts devoted by many professional programmers worldwide, a tool can be designed to automatically identify and fix hidden software bugs from a <em>new, unseen</em> program.</p> <p align="left">We envision a new paradigm where software developers no longer need to spend enormous time on <em>manually</em> finding and fixing bugs that are buried in hundreds of thousands of lines of complex code. This exciting vision of highly intelligent software development just becomes possible due to the recent breakthrough effectiveness of deep learning, which allows us to build powerful natural language processing (NLP) models to distil knowledge from large corpora of texts. This work will extend the reach of NLP to massive code bases, an area of research that is largely unexplored. By combining NLP methods with compiler-based code analysis, we will develop new models, analyses, and techniques to extract and transfer knowledge from open-source projects to automatically fix software bugs, a task that was previously seemed difficult or impossible but is much needed.</p>

<h2 class="heading">How to apply</h2>

<p>Formal applications for research degree study should be made online through the&nbsp;<a href="http://www.leeds.ac.uk/rsa/prospective_students/apply/I_want_to_apply.html">University&#39;s website</a>. Please state clearly in the research information section&nbsp;that the research degree you wish to be considered for is &lsquo;Automatic Software Bug Detection and Fixing by Learning from Large Code Examples&rsquo; as well as&nbsp;<a href="https://eps.leeds.ac.uk/computing/staff/6452/dr-zheng-wang">Dr Zheng Wang</a> as your proposed supervisor.</p> <p>If English is not your first language, you must provide evidence that you meet the University&#39;s minimum English language requirements (below).</p> <p><em>We welcome applications from all suitably-qualified candidates, but UK black and minority ethnic (BME) researchers are currently under-represented in our Postgraduate Research community, and we would therefore particularly encourage applications from UK BME candidates. All scholarships will be awarded on the basis of merit.</em></p>

<h2 class="heading heading--sm">Entry requirements</h2>

Applicants to research degree programmes should normally have at least a first class or an upper second class British Bachelors Honours degree (or equivalent) in an appropriate discipline. The criteria for entry for some research degrees may be higher, for example, several faculties, also require a Masters degree. Applicants are advised to check with the relevant School prior to making an application. Applicants who are uncertain about the requirements for a particular research degree are advised to contact the School or Graduate School prior to making an application.

<h2 class="heading heading--sm">English language requirements</h2>

The minimum English language entry requirement for research postgraduate research study is an IELTS of 6.0 overall with at least 5.5 in each component (reading, writing, listening and speaking) or equivalent. The test must be dated within two years of the start date of the course in order to be valid. Some schools and faculties have a higher requirement.

<h2 class="heading">Funding on offer</h2>

<p><strong>Self-Funding Students</strong></p> <p><strong>Funding Eligibility</strong></p> <p><strong>UK/EU</strong>&nbsp;&ndash;&nbsp;Leeds Doctoral Scholarship Award paying Academic Fees and Maintenance matching EPSRC rate of &pound;15,009 per year for 3 years.&nbsp; Alumni Bursary is available for previous graduates from the University of Leeds offering 10% discount on Academic Fees only.</p> <p><strong>International Students</strong>&nbsp;&ndash;&nbsp;China Scholarship Council-University of Leeds Scholarship Award paying Academic Fees for 3 years, Commonwealth PhD and Commonwealth Split-Site Scholarships for Low and Middle-Income countries.&nbsp; Alumni Bursary is available for previous graduates from the University of Leeds offering 10% discount on Academic Fees only.</p>

<h2 class="heading">Contact details</h2>

<p>For further information please contact Doctoral College Admissions by&nbsp;email:&nbsp;<a href="mailto:EMAIL@leeds.ac.uk">p</a><a href="mailto:phd@engineering.leeds.ac.uk">hd@engineering.leeds.ac.uk</a>&nbsp;or by&nbsp;telephone: +44 (0)113 343 5057.</p>


<h3 class="heading heading--sm">Linked funding opportunities</h3>
<h3 class="heading heading--sm">Linked research areas</h3>