Loading…
API method recommendation without worrying about the task-API knowledge gap
Developers often need to search for appropriate APIs for their programming tasks. Although most libraries have API reference documentation, it is not easy to find appropriate APIs due to the lexical gap and knowledge gap between the natural language description of the programming task and the API de...
Saved in:
Main Authors: | , , , , |
---|---|
Format: | Conference Proceeding |
Language: | English |
Subjects: | |
Citations: | Items that cite this one |
Online Access: | Request full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | cdi_FETCH-LOGICAL-a362t-908d2d58a0e9e73e7333e53c4c5f5c41ebc292ae87424008dab3ccfbd2c23e7f3 |
---|---|
cites | |
container_end_page | 304 |
container_issue | |
container_start_page | 293 |
container_title | |
container_volume | |
creator | Huang, Qiao Xia, Xin Xing, Zhenchang Lo, David Wang, Xinyu |
description | Developers often need to search for appropriate APIs for their programming tasks. Although most libraries have API reference documentation, it is not easy to find appropriate APIs due to the lexical gap and knowledge gap between the natural language description of the programming task and the API description in API documentation. Here, the lexical gap refers to the fact that the same semantic meaning can be expressed by different words, and the knowledge gap refers to the fact that API documentation mainly describes API functionality and structure but lacks other types of information like concepts and purposes, which are usually the key information in the task description. In this paper, we propose an API recommendation approach named BIKER (Bi-Information source based KnowledgE Recommendation) to tackle these two gaps. To bridge the lexical gap, BIKER uses word embedding technique to calculate the similarity score between two text descriptions. Inspired by our survey findings that developers incorporate Stack Overflow posts and API documentation for bridging the knowledge gap, BIKER leverages Stack Overflow posts to extract candidate APIs for a program task, and ranks candidate APIs by considering the query’s similarity with both Stack Overflow posts and API documentation. It also summarizes supplementary information (e.g., API description, code examples in Stack Overflow posts) for each API to help developers select the APIs that are most relevant to their tasks. Our evaluation with 413 API-related questions confirms the effectiveness of BIKER for both class- and method-level API recommendation, compared with state-of-the-art baselines. Our user study with 28 Java developers further demonstrates the practicality of BIKER for API search. |
doi_str_mv | 10.1145/3238147.3238191 |
format | conference_proceeding |
fullrecord | <record><control><sourceid>acm_CHZPO</sourceid><recordid>TN_cdi_ieee_primary_9000025</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>9000025</ieee_id><sourcerecordid>acm_books_10_1145_3238147_3238191</sourcerecordid><originalsourceid>FETCH-LOGICAL-a362t-908d2d58a0e9e73e7333e53c4c5f5c41ebc292ae87424008dab3ccfbd2c23e7f3</originalsourceid><addsrcrecordid>eNqNkDFPwzAQhQ0IiVI6M7B4ZEmxfXaTjFVFoaISDCCxWY5zSUOauEqCov57HJqBEemkp7v33Un3CLnlbM65VA8gIOIynP9qzM_ItZ8yUDGEn-dkIhYSAq5CcfHXuCKztv1ijIkoZEqoCXlZvm1ohd3OpbRB66oK69R0hatpX_jpd0d71zTHos6pSYa22yHtTFsGw2ZZu36PaY40N4cbcpmZfYuzUafkY_34vnoOtq9Pm9VyGxhYiC6IWZSKVEWGYYwh-AJABVZalSkrOSZWxMJgFEohmYdNAtZmSSqs8HQGU3J3ulsgoj40RWWao47Z8Jfy7v3JNbbSiXNlqznTQ2Z6zEyPmXl0_k9UJ02BGfwAdgZoOg</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>API method recommendation without worrying about the task-API knowledge gap</title><source>IEEE Xplore All Conference Series</source><creator>Huang, Qiao ; Xia, Xin ; Xing, Zhenchang ; Lo, David ; Wang, Xinyu</creator><creatorcontrib>Huang, Qiao ; Xia, Xin ; Xing, Zhenchang ; Lo, David ; Wang, Xinyu</creatorcontrib><description>Developers often need to search for appropriate APIs for their programming tasks. Although most libraries have API reference documentation, it is not easy to find appropriate APIs due to the lexical gap and knowledge gap between the natural language description of the programming task and the API description in API documentation. Here, the lexical gap refers to the fact that the same semantic meaning can be expressed by different words, and the knowledge gap refers to the fact that API documentation mainly describes API functionality and structure but lacks other types of information like concepts and purposes, which are usually the key information in the task description. In this paper, we propose an API recommendation approach named BIKER (Bi-Information source based KnowledgE Recommendation) to tackle these two gaps. To bridge the lexical gap, BIKER uses word embedding technique to calculate the similarity score between two text descriptions. Inspired by our survey findings that developers incorporate Stack Overflow posts and API documentation for bridging the knowledge gap, BIKER leverages Stack Overflow posts to extract candidate APIs for a program task, and ranks candidate APIs by considering the query’s similarity with both Stack Overflow posts and API documentation. It also summarizes supplementary information (e.g., API description, code examples in Stack Overflow posts) for each API to help developers select the APIs that are most relevant to their tasks. Our evaluation with 413 API-related questions confirms the effectiveness of BIKER for both class- and method-level API recommendation, compared with state-of-the-art baselines. Our user study with 28 Java developers further demonstrates the practicality of BIKER for API search.</description><identifier>ISBN: 145035937X</identifier><identifier>ISBN: 9781450359375</identifier><identifier>EISSN: 2643-1572</identifier><identifier>EISBN: 145035937X</identifier><identifier>EISBN: 9781450359375</identifier><identifier>DOI: 10.1145/3238147.3238191</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>API Documentation ; API Recommendation ; Software and its engineering -- Software creation and management -- Software development techniques ; Stack Overflow ; Word Embedding</subject><ispartof>2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE), 2018, p.293-304</ispartof><rights>2018 ACM</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-a362t-908d2d58a0e9e73e7333e53c4c5f5c41ebc292ae87424008dab3ccfbd2c23e7f3</citedby></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/9000025$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,776,780,785,786,23909,23910,25118,27902,54530,54907</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/9000025$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Huang, Qiao</creatorcontrib><creatorcontrib>Xia, Xin</creatorcontrib><creatorcontrib>Xing, Zhenchang</creatorcontrib><creatorcontrib>Lo, David</creatorcontrib><creatorcontrib>Wang, Xinyu</creatorcontrib><title>API method recommendation without worrying about the task-API knowledge gap</title><title>2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)</title><addtitle>ASE</addtitle><description>Developers often need to search for appropriate APIs for their programming tasks. Although most libraries have API reference documentation, it is not easy to find appropriate APIs due to the lexical gap and knowledge gap between the natural language description of the programming task and the API description in API documentation. Here, the lexical gap refers to the fact that the same semantic meaning can be expressed by different words, and the knowledge gap refers to the fact that API documentation mainly describes API functionality and structure but lacks other types of information like concepts and purposes, which are usually the key information in the task description. In this paper, we propose an API recommendation approach named BIKER (Bi-Information source based KnowledgE Recommendation) to tackle these two gaps. To bridge the lexical gap, BIKER uses word embedding technique to calculate the similarity score between two text descriptions. Inspired by our survey findings that developers incorporate Stack Overflow posts and API documentation for bridging the knowledge gap, BIKER leverages Stack Overflow posts to extract candidate APIs for a program task, and ranks candidate APIs by considering the query’s similarity with both Stack Overflow posts and API documentation. It also summarizes supplementary information (e.g., API description, code examples in Stack Overflow posts) for each API to help developers select the APIs that are most relevant to their tasks. Our evaluation with 413 API-related questions confirms the effectiveness of BIKER for both class- and method-level API recommendation, compared with state-of-the-art baselines. Our user study with 28 Java developers further demonstrates the practicality of BIKER for API search.</description><subject>API Documentation</subject><subject>API Recommendation</subject><subject>Software and its engineering -- Software creation and management -- Software development techniques</subject><subject>Stack Overflow</subject><subject>Word Embedding</subject><issn>2643-1572</issn><isbn>145035937X</isbn><isbn>9781450359375</isbn><isbn>145035937X</isbn><isbn>9781450359375</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2018</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><recordid>eNqNkDFPwzAQhQ0IiVI6M7B4ZEmxfXaTjFVFoaISDCCxWY5zSUOauEqCov57HJqBEemkp7v33Un3CLnlbM65VA8gIOIynP9qzM_ItZ8yUDGEn-dkIhYSAq5CcfHXuCKztv1ijIkoZEqoCXlZvm1ohd3OpbRB66oK69R0hatpX_jpd0d71zTHos6pSYa22yHtTFsGw2ZZu36PaY40N4cbcpmZfYuzUafkY_34vnoOtq9Pm9VyGxhYiC6IWZSKVEWGYYwh-AJABVZalSkrOSZWxMJgFEohmYdNAtZmSSqs8HQGU3J3ulsgoj40RWWao47Z8Jfy7v3JNbbSiXNlqznTQ2Z6zEyPmXl0_k9UJ02BGfwAdgZoOg</recordid><startdate>20180903</startdate><enddate>20180903</enddate><creator>Huang, Qiao</creator><creator>Xia, Xin</creator><creator>Xing, Zhenchang</creator><creator>Lo, David</creator><creator>Wang, Xinyu</creator><general>ACM</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>20180903</creationdate><title>API method recommendation without worrying about the task-API knowledge gap</title><author>Huang, Qiao ; Xia, Xin ; Xing, Zhenchang ; Lo, David ; Wang, Xinyu</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a362t-908d2d58a0e9e73e7333e53c4c5f5c41ebc292ae87424008dab3ccfbd2c23e7f3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2018</creationdate><topic>API Documentation</topic><topic>API Recommendation</topic><topic>Software and its engineering -- Software creation and management -- Software development techniques</topic><topic>Stack Overflow</topic><topic>Word Embedding</topic><toplevel>online_resources</toplevel><creatorcontrib>Huang, Qiao</creatorcontrib><creatorcontrib>Xia, Xin</creatorcontrib><creatorcontrib>Xing, Zhenchang</creatorcontrib><creatorcontrib>Lo, David</creatorcontrib><creatorcontrib>Wang, Xinyu</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Huang, Qiao</au><au>Xia, Xin</au><au>Xing, Zhenchang</au><au>Lo, David</au><au>Wang, Xinyu</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>API method recommendation without worrying about the task-API knowledge gap</atitle><btitle>2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE)</btitle><stitle>ASE</stitle><date>2018-09-03</date><risdate>2018</risdate><spage>293</spage><epage>304</epage><pages>293-304</pages><eissn>2643-1572</eissn><isbn>145035937X</isbn><isbn>9781450359375</isbn><eisbn>145035937X</eisbn><eisbn>9781450359375</eisbn><abstract>Developers often need to search for appropriate APIs for their programming tasks. Although most libraries have API reference documentation, it is not easy to find appropriate APIs due to the lexical gap and knowledge gap between the natural language description of the programming task and the API description in API documentation. Here, the lexical gap refers to the fact that the same semantic meaning can be expressed by different words, and the knowledge gap refers to the fact that API documentation mainly describes API functionality and structure but lacks other types of information like concepts and purposes, which are usually the key information in the task description. In this paper, we propose an API recommendation approach named BIKER (Bi-Information source based KnowledgE Recommendation) to tackle these two gaps. To bridge the lexical gap, BIKER uses word embedding technique to calculate the similarity score between two text descriptions. Inspired by our survey findings that developers incorporate Stack Overflow posts and API documentation for bridging the knowledge gap, BIKER leverages Stack Overflow posts to extract candidate APIs for a program task, and ranks candidate APIs by considering the query’s similarity with both Stack Overflow posts and API documentation. It also summarizes supplementary information (e.g., API description, code examples in Stack Overflow posts) for each API to help developers select the APIs that are most relevant to their tasks. Our evaluation with 413 API-related questions confirms the effectiveness of BIKER for both class- and method-level API recommendation, compared with state-of-the-art baselines. Our user study with 28 Java developers further demonstrates the practicality of BIKER for API search.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/3238147.3238191</doi><tpages>12</tpages><oa>free_for_read</oa></addata></record> |
fulltext | fulltext_linktorsrc |
identifier | ISBN: 145035937X |
ispartof | 2018 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE), 2018, p.293-304 |
issn | 2643-1572 |
language | eng |
recordid | cdi_ieee_primary_9000025 |
source | IEEE Xplore All Conference Series |
subjects | API Documentation API Recommendation Software and its engineering -- Software creation and management -- Software development techniques Stack Overflow Word Embedding |
title | API method recommendation without worrying about the task-API knowledge gap |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-10T16%3A58%3A16IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-acm_CHZPO&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=API%20method%20recommendation%20without%20worrying%20about%20the%20task-API%20knowledge%20gap&rft.btitle=2018%2033rd%20IEEE/ACM%20International%20Conference%20on%20Automated%20Software%20Engineering%20(ASE)&rft.au=Huang,%20Qiao&rft.date=2018-09-03&rft.spage=293&rft.epage=304&rft.pages=293-304&rft.eissn=2643-1572&rft.isbn=145035937X&rft.isbn_list=9781450359375&rft_id=info:doi/10.1145/3238147.3238191&rft.eisbn=145035937X&rft.eisbn_list=9781450359375&rft_dat=%3Cacm_CHZPO%3Eacm_books_10_1145_3238147_3238191%3C/acm_CHZPO%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-a362t-908d2d58a0e9e73e7333e53c4c5f5c41ebc292ae87424008dab3ccfbd2c23e7f3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=9000025&rfr_iscdi=true |