AUSearch: Accurate API usage search in Github repositories with type resolution

Nowadays, developers use APIs to implement their applications. To know how to use an API, developers may search for code examples that use the API in repositories such as GitHub. Although code search engines have been developed to help developers perform such search, these engines typically only acc...

Full description

Saved in:
Bibliographic Details
Main Authors: ASYROFI, Muhammad Hilmi, THUNG, Ferdian, LO, David, JIANG, Lingxiao
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2020
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/5503
https://ink.library.smu.edu.sg/context/sis_research/article/6506/viewcontent/saner20AUSearch.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-6506
record_format dspace
spelling sg-smu-ink.sis_research-65062021-05-12T03:07:35Z AUSearch: Accurate API usage search in Github repositories with type resolution ASYROFI, Muhammad Hilmi THUNG, Ferdian LO, David JIANG, Lingxiao Nowadays, developers use APIs to implement their applications. To know how to use an API, developers may search for code examples that use the API in repositories such as GitHub. Although code search engines have been developed to help developers perform such search, these engines typically only accept a query containing the description of the task that needs to be implemented or the names of the APIs that the developer wants to use without the capability for the developer to specify particular search constraints, such as the class and parameter types that the relevant API should take. These engines are not designed for cases when the specific API and its types to search are known and the developers want code examples that show how the specific API is used, and therefore, their search results are often too inaccurate. In this work, we propose a tool, named AUSearch, to fill this gap. Given an API query that allows type constraints, AUSearch finds code examples in GitHub that contain usages of the specific APIs in the query. AUSearch performs type resolutions to ensure that the API usages found in the returned files are indeed invocations of the APIs specified in the query and highlights the relevant lines of code in the files for easier reference. We show that AUSearch is much more accurate than GitHub Code Search. A video demonstrating our tool is available from https://youtu.be/DKiGal5bSkU. 2020-02-01T08:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/5503 info:doi/10.1109/SANER48275.2020.9054809 https://ink.library.smu.edu.sg/context/sis_research/article/6506/viewcontent/saner20AUSearch.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University API usage code search GitHub type resolution Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic API usage
code search
GitHub
type resolution
Software Engineering
spellingShingle API usage
code search
GitHub
type resolution
Software Engineering
ASYROFI, Muhammad Hilmi
THUNG, Ferdian
LO, David
JIANG, Lingxiao
AUSearch: Accurate API usage search in Github repositories with type resolution
description Nowadays, developers use APIs to implement their applications. To know how to use an API, developers may search for code examples that use the API in repositories such as GitHub. Although code search engines have been developed to help developers perform such search, these engines typically only accept a query containing the description of the task that needs to be implemented or the names of the APIs that the developer wants to use without the capability for the developer to specify particular search constraints, such as the class and parameter types that the relevant API should take. These engines are not designed for cases when the specific API and its types to search are known and the developers want code examples that show how the specific API is used, and therefore, their search results are often too inaccurate. In this work, we propose a tool, named AUSearch, to fill this gap. Given an API query that allows type constraints, AUSearch finds code examples in GitHub that contain usages of the specific APIs in the query. AUSearch performs type resolutions to ensure that the API usages found in the returned files are indeed invocations of the APIs specified in the query and highlights the relevant lines of code in the files for easier reference. We show that AUSearch is much more accurate than GitHub Code Search. A video demonstrating our tool is available from https://youtu.be/DKiGal5bSkU.
format text
author ASYROFI, Muhammad Hilmi
THUNG, Ferdian
LO, David
JIANG, Lingxiao
author_facet ASYROFI, Muhammad Hilmi
THUNG, Ferdian
LO, David
JIANG, Lingxiao
author_sort ASYROFI, Muhammad Hilmi
title AUSearch: Accurate API usage search in Github repositories with type resolution
title_short AUSearch: Accurate API usage search in Github repositories with type resolution
title_full AUSearch: Accurate API usage search in Github repositories with type resolution
title_fullStr AUSearch: Accurate API usage search in Github repositories with type resolution
title_full_unstemmed AUSearch: Accurate API usage search in Github repositories with type resolution
title_sort ausearch: accurate api usage search in github repositories with type resolution
publisher Institutional Knowledge at Singapore Management University
publishDate 2020
url https://ink.library.smu.edu.sg/sis_research/5503
https://ink.library.smu.edu.sg/context/sis_research/article/6506/viewcontent/saner20AUSearch.pdf
_version_ 1770575481866813440