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
Professor Zheng Wang
Schools
School of Computing
<h2 class="heading hide-accessible">Summary</h2>

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. <br /> <br /> 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.

<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="https://www.leeds.ac.uk/research-applying/doc/applying-research-degrees">University&#39;s website</a>. Please state clearly in the Planned Course of Study section that you are applying for <em><strong>PHD Computing FT</strong></em> and in the research information section&nbsp;that the research degree you wish to be considered for is <em><strong>Automatic Software Bug Detection and Fixing by Learning from Large Code Examples</strong></em>&nbsp;as well as Professor Zheng Wang&nbsp;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 style="margin-bottom:11px"><em>As an international research-intensive university, we welcome students from all walks of life and from across the world. We foster an inclusive environment where all can flourish and prosper, and we are proud of our strong commitment to student education. Across all Faculties we are dedicated to diversifying our community and we welcome the unique contributions that individuals can bring, and particularly encourage applications from, but not limited to Black, Asian, people who belong to a minority ethnic community, people who identify as LGBT+ and people with disabilities. Applicants will always be selected based on merit and ability.</em></p> <p class="MsoNoSpacing">Applications will be considered on an ongoing basis. &nbsp;Potential applicants are strongly encouraged to contact the supervisors for an informal discussion before making a formal application. &nbsp;We also advise that you apply at the earliest opportunity as the application and selection process may close early, should we receive a sufficient number of applications or that a suitable candidate is appointed.</p> <p>Please note that you must provide the following documents at the point you submit your application:</p> <ul> <li>Full Transcripts of all degree study or if in final year of study, full transcripts to date</li> <li>Personal Statement outlining your interest in the project</li> <li>CV</li> <li>Funding information including any alternative sources of funding that you are applying for or if you are able to pay your own fees and maintenance</li> </ul> <p>&nbsp;</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.5 overall with at least 6.5 in writing and at 6.0 in reading, 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 style="margin-bottom:12px"><strong>Self-Funded or externally sponsored students are welcome to apply.</strong></p> <p><strong>UK</strong>&nbsp;&ndash;&nbsp;The&nbsp;<a href="https://phd.leeds.ac.uk/funding/209-leeds-doctoral-scholarships-2022">Leeds Doctoral Scholarships</a>&nbsp;and&nbsp;<a href="https://phd.leeds.ac.uk/funding/234-leeds-opportunity-research-scholarship-2022">Leeds Opportunity Research Scholarship</a>&nbsp;are available to UK applicants (open from October 2023). <a href="https://phd.leeds.ac.uk/funding/60-alumni-bursary">Alumni Bursary</a> is available to graduates of the University of Leeds.</p> <p><strong>Non-UK</strong> &ndash; The&nbsp;<a href="https://phd.leeds.ac.uk/funding/48-china-scholarship-council-university-of-leeds-scholarships-2021">China Scholarship Council - University of Leeds Scholarship</a>&nbsp;is available to nationals of China (open from October 2023). The&nbsp;<a href="https://phd.leeds.ac.uk/funding/73-leeds-marshall-scholarship">Leeds Marshall Scholarship</a>&nbsp;is available to support US citizens. <a href="https://phd.leeds.ac.uk/funding/60-alumni-bursary">Alumni Bursary</a> is available to graduates of the University of Leeds.</p> <p><strong>Important:</strong>&nbsp; Any costs associated with your arrival at the University of Leeds to start your PhD including flights, immigration health surcharge/medical insurance and Visa costs are not covered under this studentship.</p> <p>Please refer to the <a href="https://www.ukcisa.org.uk/">UKCISA</a> website for information regarding Fee Status for Non-UK Nationals.</p>

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

<p>For further information about your application, please contact Doctoral College Admissions: e:&nbsp;<a href="mailto:EMAIL@leeds.ac.uk">p</a><a href="mailto:phd@engineering.leeds.ac.uk">hd@engineering.leeds.ac.uk</a></p> <p>For further information about this project, please contact Prof. Zheng Wang by&nbsp;email:&nbsp;<a href="mailto:Z.Wang5@leeds.ac.uk">Z.Wang5@leeds.ac.uk</a></p>


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