Date of Graduation

Spring 2020

Degree

Master of Science in Computer Science

Department

Computer Science

Committee Chair

Razib Iqbal

Abstract

Motivated by the idea of reusing existing source code from previous projects within a software company, in this thesis, I present a new source code recommendation technique to help programmers find relevant implementations or sample code based on software requirement specifications. My proposed technique assists programmers to search existing code repositories using natural language query. My approach summarizes the uploaded code into sentences or phrases to match them against user queries. This version of my proposed technique extracts and analyzes the content of Python code (such as variables, functions, docstrings, and comments) to generate code summary for each function which is then mapped to the respective functions. My approach also provides the user query suggestions so that after issuing a generic query the user can reformulate their query based on the suggestions. A web-based deployment of the tool (available at http://socer.razib.info/search) allows a user to enter a textual search query and returns the relevant code search results that were most relevant to the query. It also allows users to upload new code to enrich the codebase with tested code. If adopted, my proposed technique will benefit a software company to build a trusted codebase enabling large-scale software code reuse.

Keywords

Code recommendation, code reuse, code search, software code, query reformulation.

Subject Categories

Software Engineering

Copyright

© Md Mazharul Islam

Open Access

Share

COinS