Font Size: a A A

Locating And Repairing API Bugs Based On Supervised Topic Modeling And Deep Learning

Posted on:2020-07-11Degree:MasterType:Thesis
Country:ChinaCandidate:X F ZhangFull Text:PDF
GTID:2428330578963102Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
It is challenging to repair the Application Programming Interface(API)related bugs in the development of open-source software,due to the shortage of specialized testers,the high mobility of developers,and the extensive usage of integrated third-party libraries and frameworks.To be more specific,1)most bug reports usually contain only functional failure descriptions,lacking of implementation clues;2)involved developers may be unfamiliar with the relationships between business logic and implementation;3)it is relatively tricky for developers to master the correct usage of APIs provided by a wide variety of third-party libraries or frameworks.These factors ultimately lead to difficulties in locating the relevant source files when developers attempt to process bug reports;for API-related bugs,even if the buggy source file is determined,it is still challenging to understand the code and find the cause of the bug.Therefore,it is necessary to provide an automatic repair technique for API bugs based on bug reports to help open-source software developers improve the efficiency of bug repair.The open-source code hosting platforms provide functions such as bug tracking and codebase management for open source software development.The bug tracking system has accumulated a large number of fixed bug reports and the corresponding code change information,and a large number of APIs have been accumulated in the codebase.To this end,we propose machine learning-based approaches to learn the relationships between business logic and implementation from the data accumulated by the bug tracking system,which helps developers locate the code associated with the bug report;we then learn proper API usage knowledge from a large amount of code accumulated in the codebase to help developers understand buggy code and provide fixes for API missing bugs.The main contributions of this paper include:1.A bug location technique for bug reports based on supervised topic modeling.We use both normal text and meta information in the bug reports,adapt supervised topic modeling to handle the common substrings of source code and bug reports,so as to improve the performance of bug localization.2.An API missing bug detection and repair technique based on deep learning.We first extract API call sequences from the source code,use bidirectional recurrent neural networks with attention mechanism on the extracted API sequences,and construct a multi-task learning model for positioning and predicting the missing APIs.3.A corresponding prototype system based on the forementioned techniques,primi-tively verifying the rationality of the proposed approach.
Keywords/Search Tags:Bug Localization, Bug Report, Automatic Bug Repair, API Misuse Detection
PDF Full Text Request
Related items