Design annotations to improve API discoverability

dc.contributor.authorSantos, A. L.
dc.contributor.authorMyers, B. A.
dc.date.accessioned2017-05-17T09:58:02Z
dc.date.available2017-05-17T09:58:02Z
dc.date.issued2017
dc.date.updated2019-03-22T13:15:35Z
dc.description.abstractUser studies have revealed that programmers face several obstacles when learning application programming interfaces (APIs). A considerable part of such difficulties relate to discovery of API elements and the relationships among them. To address discoverability problems, we show how to complement APIs with design annotations, which document design decisions in a program-processable form for types, methods, and parameters. The information provided by the annotations is consumed by the integrated development environment (IDE) in order to assist API users with useful code completion proposals regarding object creation and manipulation, which facilitate API exploration and learning. As a proof of concept, we developed Dacite, a tool which comprises a set of Java annotations and an accompanying plugin for the Eclipse IDE. A user study revealed that Dacite is usable and effective, and Dacite’s proposals enable programmers to be more successful in solving programming tasks involving unfamiliar APIs.eng
dc.description.versioninfo:eu-repo/semantics/publishedVersion
dc.distributionInternacionalpor
dc.identifier.doi10.1016/j.jss.2016.12.036
dc.identifier.issn0164-1212
dc.identifier.urihttp://hdl.handle.net/10071/13403
dc.journalJournal of Systems and Software
dc.language.isoeng
dc.pagination17 - 33
dc.peerreviewedyes
dc.publicationstatusPublicadopor
dc.publisherElsevier
dc.relationHCC: Large: Collaborative Research: Variations to Support Exploratory Programming
dc.relationUID/MULTI/0446/2013
dc.relationHCC: Small: Better Tools for Authoring Interactive Behaviors
dc.rightsembargoed accesspor
dc.subjectAPI usabilityeng
dc.subjectAnnotationseng
dc.subjectCode completioneng
dc.subjectIDEeng
dc.subjectEclipseeng
dc.subject.fosDomínio/Área Científica::Ciências Naturais::Ciências da Computação e da Informaçãopor
dc.titleDesign annotations to improve API discoverabilityeng
dc.typearticle
dc.volume126
degois.publication.firstPage17
degois.publication.lastPage33
degois.publication.titleDesign annotations to improve API discoverabilityeng
dspace.entity.typePublicationen
iscte.alternateIdentifiers.scopus2-s2.0-85009268752
iscte.alternateIdentifiers.wosWOS:000395226000002
iscte.identifier.cienciahttps://ciencia.iscte-iul.pt/id/ci-pub-33495
iscte.subject.odsIndústria, inovação e infraestruturaspor

Ficheiros