Stepwise API usage assistance using n-gram language models

dc.contributor.authorSantos, A. L.
dc.contributor.authorPrendi, G.
dc.contributor.authorSousa, H.
dc.contributor.authorRibeiro, R.
dc.date.accessioned2017-08-01T15:32:07Z
dc.date.available2017-08-01T15:32:07Z
dc.date.issued2017
dc.date.updated2019-03-22T15:13:16Z
dc.description.abstractReusing software involves learning third-party APIs, a process that is often time-consuming and error-prone. Recommendation systems for API usage assistance based on statistical models built from source code corpora are capable of assisting API users through code completion mechanisms in IDEs. A valid sequence of API calls involving different types may be regarded as a well-formed sentence of tokens from the API vocabulary. In this article we describe an approach for recommending subsequent tokens to complete API sentences using n-gram language models built from source code corpora. The provided system was integrated in the code completion facilities of the Eclipse IDE, providing contextualized completion proposals for Java taking into account the nearest lines of code. The approach was evaluated against existing client code of four widely used APIs, revealing that in more than 90% of the cases the expected subsequent token is within the 10-top-most proposals of our models. The high score provides evidence that the recommendations could help on API learning and exploration, namely through the assistance on writing valid API sentences.eng
dc.description.versioninfo:eu-repo/semantics/submittedVersion
dc.distributionInternacionalpor
dc.identifier.doi10.1016/j.jss.2016.06.063
dc.identifier.issn0164-1212
dc.identifier.urihttp://hdl.handle.net/10071/14222
dc.journalJournal of Systems and Software
dc.language.isoeng
dc.pagination461 - 474
dc.peerreviewedyes
dc.publicationstatusPublicadopor
dc.publisherElsevier
dc.relationinfo:eu-repo/grantAgreement/FCT/5876/147282/PT
dc.rightsopen accesspor
dc.subjectAPIeng
dc.subjectUsabilityeng
dc.subjectN-gramseng
dc.subjectCode completioneng
dc.subjectIDEeng
dc.subject.fosDomínio/Área Científica::Ciências Naturais::Ciências da Computação e da Informaçãopor
dc.titleStepwise API usage assistance using n-gram language modelseng
dc.typearticle
dc.volume131
degois.publication.firstPage461
degois.publication.lastPage474
degois.publication.titleStepwise API usage assistance using n-gram language modelseng
dspace.entity.typePublicationen
iscte.alternateIdentifiers.scopus2-s2.0-85003443942
iscte.alternateIdentifiers.wosWOS:000407657500026
iscte.identifier.cienciahttps://ciencia.iscte-iul.pt/id/ci-pub-29359
iscte.subject.odsIndústria, inovação e infraestruturaspor

Ficheiros

Pacote original

A mostrar 1 - 1 de 1
A carregar...
Nome:
paper.pdf
Tamanho:
773.17 KB
Formato:
Adobe Portable Document Format
Descrição:
Pré-print