logo móvil
Contáctanos

Un enfoque combinatorio para la finalización de API: aprendizaje profundo y heurísticas

Autores: Liu, Yi; Yin, Yiming; Deng, Jia; Li, Weimin; Peng, Zhichao

Idioma: Inglés

Editor: MDPI

Año: 2024

Descargar PDF

Acceso abierto

Artículo científico
2024

Un enfoque combinatorio para la finalización de API: aprendizaje profundo y heurísticas


Categoría

Ingeniería y Tecnología

Subcategoría

Ingeniería Eléctrica y Electrónica

Palabras clave

Componentes de biblioteca de software
Interfaces de programación de aplicaciones (APIs)
Herramientas de completado de API
Eficiencia de desarrollo
Métodos de completado de código
Enfoques basados en aprendizaje profundo

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 36

Citaciones: Sin citaciones


Descripción
Recordar los componentes de bibliotecas de software y dominar sus interfaces de programación de aplicaciones (APIs) es una tarea desafiante para los programadores, debido al gran volumen de bibliotecas disponibles. Las herramientas de completado de API, que predicen APIs posteriores basadas en el contexto del código, son esenciales para mejorar la eficiencia de desarrollo. Sin embargo, las técnicas de completado de API existentes enfrentan debilidades específicas que limitan su rendimiento. Los métodos de completado de código basados en patrones que dependen de información estadística sobresalen en la extracción de patrones de uso común de secuencias de API. Sin embargo, a menudo tienen dificultades para capturar la semántica del código circundante. Por el contrario, los enfoques basados en aprendizaje profundo sobresalen en la comprensión de la semántica del código pero pueden pasar por alto ciertos usos comunes que pueden ser fácilmente identificados por métodos basados en patrones. Nuestra visión para superar estos desafíos se basa en la complementariedad entre estos dos tipos de enfoques. Este documento propone un método combinatorio de completado de API que tiene como objetivo explotar las fortalezas de los enfoques basados en patrones y en aprendizaje profundo. La idea básica es utilizar un selector basado en confianza para determinar qué tipo de enfoque se debe utilizar para generar predicciones. Los enfoques basados en patrones solo se aplicarán si la frecuencia de un patrón particular supera un umbral predefinido, mientras que en otros casos, se utilizarán modelos de aprendizaje profundo para generar los resultados de completado de API. Los resultados mostraron que nuestro enfoque mejoró drásticamente la precisión y la media del rango recíproco (MRR) en experimentos a gran escala, resaltando su utilidad.

Otros recursos que podrían interesarte

Temas Virtualpro