Font Size: a A A

Code Search With Free-from Text As Input

Posted on:2018-02-18Degree:DoctorType:Dissertation
Country:ChinaCandidate:L M NieFull Text:PDF
GTID:1318330515494292Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
Code search has been a part of software development for many years,and the related researches receive increasing attention.The important goal of these researches is improving the performance of algorithms by employing information retrieval and related technologies.This field belongs to the intersection of software engineering and information retrieval.This dissertation focuses on code search with free-form text as queries.Based on the exploring for the research hotspots and existing problems in this field by employing a literature analysis,the main contributions can be divided into three aspects,namely,proposing a code search algorithm leveraging information retrieval and supervised learning to solve the problem of single matching,proposing a query expansion algorithm based code search algorithm to solve the term mismatch problem,implementing a prototype system of programming assistant.Specifically,three aspects are:(1)Proposing a code search algorithm leveraging information retrieval and supervised learning methodsAiming at the problem of single matching in current code search algorithms,we propose a code search method that leveraging information retrieval and supervised learning,i.e.,Recommending cOde Snippets with multi-aspect Features(ROSF),which makes full use of many domain features to recommend code snippets.Experiments show the effectiveness of the proposed method.Compared with the latest code search methods,it makes significant performance improvement.(2)Proposing a query expansion algorithm based code search algorithmTo solve the term mismatch problem existing in current code search algorithms,a query expansion method with crowd knowledge(QECK)is proposed to improve the performance of code search algorithms.Subsequently,we integrate QECK into the classic Rocchio model,and propose the code search method QECKRocchio.Experiments show that QECK can greatly enhance the performance of several recent code search methods.At the same time,compared with the latest code search method based on WordNet query extension,QECKRocchio achieves better recommendation performance.(3)Implementing a prototype system of programming assistantIn order to avoid the frequent windows switching to achieve a more convenient development,we design and implement a prototype system of programming assistant on the Eclipse IDE by using the code search algorithm based on query expansion proposed in this dissertation as the background search algorithm.The system is seamlessly embedded in the developer's programming environment in the form of an Eclipse plug-in.The work of this dissertation,code search with the free-form text as input,explores the domain knowledge of this research,improves the performance of the code search algorithms,and provides a convenient man-machine interactive way.The experience of this study can be extended to other areas of software engineering.
Keywords/Search Tags:Code Search, Free-form Text, Supervised Learning, Query Expansion, Prototype System
PDF Full Text Request
Related items