API recommendation based on Word Embeddings

Autores
Saucedo, Ana Martínez; Da Rocha Araujo, Leonardo Henrique; Rodríguez, Guillermo Horacio
Año de publicación
2023
Idioma
inglés
Tipo de recurso
documento de conferencia
Estado
versión publicada
Descripción
In this new era where web services are trending and businesses constantly develop and expose APIs that can be used by third parties, finding one which fits a functional requirement is a daunting task. For this reason, websites such as ProgrammableWeb and APIs.guru offer a directory of API definitions that can be filtered and searched by developers. However, searching for APIs that conform to a requirement on those platforms is still a manual task, and searches are based on the inclusion or exclusion of query words in an API description that does not provide relevant results. For this reason, we have explored the application of word embeddings in the problem of API recommendation using Word2Vec, FastText and GloVe algorithms, as well as pre-trained domain-general and software engineering embeddings. We have constructed a dataset from APIs.guru and retrieved services descriptions to obtain their embeddings and calculate their similarity with a given query embedding. To this end, we created ten test queries with their relevant APIs using a subset of the original dataset. With a recall at 10 recommendations of 69.8% and a nDCG at 10 of 81.4%, we have obtained promising results which demonstrate embeddings can alleviate developers' searches for relevant APIs.
En esta era en la que los servicios web son tendencia y las empresas desarrollan y exponen constantemente APIs que pueden ser utilizadas por terceros, encontrar una API que se ajuste a un requisito funcional es una tarea abrumadora. Por esta razón, portales como ProgrammableWeb y APIs.guru ofrecen un directorio de definiciones de APIs que los desarrolladores pueden filtrar y buscar. Sin embargo, la búsqueda de APIs que cumplan con un requisito en esas plataformas sigue siendo una tarea manual, y las búsquedas se basan en la inclusión o exclusión de palabras clave en una descripción de API que no proporciona resultados relevantes. Por esta razón, hemos explorado la aplicación de word embeddings para recomendar APIs utilizando los algoritmos Word2Vec, FastText y GloVe, así como embeddings pre-entrenados de dominio general y específicos a la ingeniería de software. Construimos un dataset de APIs a partir de APIs.guru y recuperamos descripciones de servicios para obtener sus embeddings y calcular su similitud con el embedding de una consulta determinada. Para ello creamos diez consultas de prueba con sus APIs relevantes utilizando un subconjunto del conjunto de datos original. Con una exhaustividad en 10 recomendaciones del 69,8% y un nDCG en 10  recomendaciones del 81,4%, hemos obtenido resultados prometedores que demuestran que los word embeddings pueden dar soporte a los desarrolladores a la hora de buscar APIs relevantes.
Sociedad Argentina de Informática e Investigación Operativa
Materia
Ciencias Informáticas
API recommendation
word embedding
APIs
microservices
software development
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-sa/4.0/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/165808

id SEDICI_323fe85445b3f7db5e39bc82caa7685d
oai_identifier_str oai:sedici.unlp.edu.ar:10915/165808
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling API recommendation based on Word EmbeddingsSaucedo, Ana MartínezDa Rocha Araujo, Leonardo HenriqueRodríguez, Guillermo HoracioCiencias InformáticasAPI recommendationword embeddingAPIsmicroservicessoftware developmentIn this new era where web services are trending and businesses constantly develop and expose APIs that can be used by third parties, finding one which fits a functional requirement is a daunting task. For this reason, websites such as ProgrammableWeb and APIs.guru offer a directory of API definitions that can be filtered and searched by developers. However, searching for APIs that conform to a requirement on those platforms is still a manual task, and searches are based on the inclusion or exclusion of query words in an API description that does not provide relevant results. For this reason, we have explored the application of word embeddings in the problem of API recommendation using Word2Vec, FastText and GloVe algorithms, as well as pre-trained domain-general and software engineering embeddings. We have constructed a dataset from APIs.guru and retrieved services descriptions to obtain their embeddings and calculate their similarity with a given query embedding. To this end, we created ten test queries with their relevant APIs using a subset of the original dataset. With a recall at 10 recommendations of 69.8% and a nDCG at 10 of 81.4%, we have obtained promising results which demonstrate embeddings can alleviate developers' searches for relevant APIs.En esta era en la que los servicios web son tendencia y las empresas desarrollan y exponen constantemente APIs que pueden ser utilizadas por terceros, encontrar una API que se ajuste a un requisito funcional es una tarea abrumadora. Por esta razón, portales como ProgrammableWeb y APIs.guru ofrecen un directorio de definiciones de APIs que los desarrolladores pueden filtrar y buscar. Sin embargo, la búsqueda de APIs que cumplan con un requisito en esas plataformas sigue siendo una tarea manual, y las búsquedas se basan en la inclusión o exclusión de palabras clave en una descripción de API que no proporciona resultados relevantes. Por esta razón, hemos explorado la aplicación de word embeddings para recomendar APIs utilizando los algoritmos Word2Vec, FastText y GloVe, así como embeddings pre-entrenados de dominio general y específicos a la ingeniería de software. Construimos un dataset de APIs a partir de APIs.guru y recuperamos descripciones de servicios para obtener sus embeddings y calcular su similitud con el embedding de una consulta determinada. Para ello creamos diez consultas de prueba con sus APIs relevantes utilizando un subconjunto del conjunto de datos original. Con una exhaustividad en 10 recomendaciones del 69,8% y un nDCG en 10  recomendaciones del 81,4%, hemos obtenido resultados prometedores que demuestran que los word embeddings pueden dar soporte a los desarrolladores a la hora de buscar APIs relevantes.Sociedad Argentina de Informática e Investigación Operativa2023-09info:eu-repo/semantics/conferenceObjectinfo:eu-repo/semantics/publishedVersionObjeto de conferenciahttp://purl.org/coar/resource_type/c_5794info:ar-repo/semantics/documentoDeConferenciaapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/165808enginfo:eu-repo/semantics/altIdentifier/url/https://publicaciones.sadio.org.ar/index.php/JAIIO/article/view/526info:eu-repo/semantics/altIdentifier/issn/2451-7496info:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-sa/4.0/Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-09-03T11:15:49Zoai:sedici.unlp.edu.ar:10915/165808Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-09-03 11:15:50.063SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv API recommendation based on Word Embeddings
title API recommendation based on Word Embeddings
spellingShingle API recommendation based on Word Embeddings
Saucedo, Ana Martínez
Ciencias Informáticas
API recommendation
word embedding
APIs
microservices
software development
title_short API recommendation based on Word Embeddings
title_full API recommendation based on Word Embeddings
title_fullStr API recommendation based on Word Embeddings
title_full_unstemmed API recommendation based on Word Embeddings
title_sort API recommendation based on Word Embeddings
dc.creator.none.fl_str_mv Saucedo, Ana Martínez
Da Rocha Araujo, Leonardo Henrique
Rodríguez, Guillermo Horacio
author Saucedo, Ana Martínez
author_facet Saucedo, Ana Martínez
Da Rocha Araujo, Leonardo Henrique
Rodríguez, Guillermo Horacio
author_role author
author2 Da Rocha Araujo, Leonardo Henrique
Rodríguez, Guillermo Horacio
author2_role author
author
dc.subject.none.fl_str_mv Ciencias Informáticas
API recommendation
word embedding
APIs
microservices
software development
topic Ciencias Informáticas
API recommendation
word embedding
APIs
microservices
software development
dc.description.none.fl_txt_mv In this new era where web services are trending and businesses constantly develop and expose APIs that can be used by third parties, finding one which fits a functional requirement is a daunting task. For this reason, websites such as ProgrammableWeb and APIs.guru offer a directory of API definitions that can be filtered and searched by developers. However, searching for APIs that conform to a requirement on those platforms is still a manual task, and searches are based on the inclusion or exclusion of query words in an API description that does not provide relevant results. For this reason, we have explored the application of word embeddings in the problem of API recommendation using Word2Vec, FastText and GloVe algorithms, as well as pre-trained domain-general and software engineering embeddings. We have constructed a dataset from APIs.guru and retrieved services descriptions to obtain their embeddings and calculate their similarity with a given query embedding. To this end, we created ten test queries with their relevant APIs using a subset of the original dataset. With a recall at 10 recommendations of 69.8% and a nDCG at 10 of 81.4%, we have obtained promising results which demonstrate embeddings can alleviate developers' searches for relevant APIs.
En esta era en la que los servicios web son tendencia y las empresas desarrollan y exponen constantemente APIs que pueden ser utilizadas por terceros, encontrar una API que se ajuste a un requisito funcional es una tarea abrumadora. Por esta razón, portales como ProgrammableWeb y APIs.guru ofrecen un directorio de definiciones de APIs que los desarrolladores pueden filtrar y buscar. Sin embargo, la búsqueda de APIs que cumplan con un requisito en esas plataformas sigue siendo una tarea manual, y las búsquedas se basan en la inclusión o exclusión de palabras clave en una descripción de API que no proporciona resultados relevantes. Por esta razón, hemos explorado la aplicación de word embeddings para recomendar APIs utilizando los algoritmos Word2Vec, FastText y GloVe, así como embeddings pre-entrenados de dominio general y específicos a la ingeniería de software. Construimos un dataset de APIs a partir de APIs.guru y recuperamos descripciones de servicios para obtener sus embeddings y calcular su similitud con el embedding de una consulta determinada. Para ello creamos diez consultas de prueba con sus APIs relevantes utilizando un subconjunto del conjunto de datos original. Con una exhaustividad en 10 recomendaciones del 69,8% y un nDCG en 10  recomendaciones del 81,4%, hemos obtenido resultados prometedores que demuestran que los word embeddings pueden dar soporte a los desarrolladores a la hora de buscar APIs relevantes.
Sociedad Argentina de Informática e Investigación Operativa
description In this new era where web services are trending and businesses constantly develop and expose APIs that can be used by third parties, finding one which fits a functional requirement is a daunting task. For this reason, websites such as ProgrammableWeb and APIs.guru offer a directory of API definitions that can be filtered and searched by developers. However, searching for APIs that conform to a requirement on those platforms is still a manual task, and searches are based on the inclusion or exclusion of query words in an API description that does not provide relevant results. For this reason, we have explored the application of word embeddings in the problem of API recommendation using Word2Vec, FastText and GloVe algorithms, as well as pre-trained domain-general and software engineering embeddings. We have constructed a dataset from APIs.guru and retrieved services descriptions to obtain their embeddings and calculate their similarity with a given query embedding. To this end, we created ten test queries with their relevant APIs using a subset of the original dataset. With a recall at 10 recommendations of 69.8% and a nDCG at 10 of 81.4%, we have obtained promising results which demonstrate embeddings can alleviate developers' searches for relevant APIs.
publishDate 2023
dc.date.none.fl_str_mv 2023-09
dc.type.none.fl_str_mv info:eu-repo/semantics/conferenceObject
info:eu-repo/semantics/publishedVersion
Objeto de conferencia
http://purl.org/coar/resource_type/c_5794
info:ar-repo/semantics/documentoDeConferencia
format conferenceObject
status_str publishedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/165808
url http://sedici.unlp.edu.ar/handle/10915/165808
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/url/https://publicaciones.sadio.org.ar/index.php/JAIIO/article/view/526
info:eu-repo/semantics/altIdentifier/issn/2451-7496
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-sa/4.0/
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-sa/4.0/
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1842260662549479424
score 13.13397