Simplifier l'accès aux infos API pour les devs
Un nouvel outil simplifie la collecte d'infos API à partir de plusieurs sources en ligne.
― 7 min lire
Table des matières
Dans le monde du développement logiciel d’aujourd’hui, les APIS (Interfaces de Programmation d'Applications) sont des outils essentiels. Elles aident les développeurs à créer des logiciels plus efficacement parce qu'elles fournissent des fonctions toutes faites. Les développeurs doivent savoir comment utiliser ces APIs de manière efficace, ce qui implique de rester à jour sur les dernières infos les concernant. Malheureusement, ces infos sont souvent dispersées sur plusieurs sites, ce qui complique leur regroupement en un seul endroit.
Beaucoup de développeurs essaient de trouver des infos sur les APIs en cherchant sur internet. Mais bon, ça peut prendre pas mal de temps et d'efforts. Les infos sont souvent sur différentes plateformes comme GitHub, Stack Overflow, Twitter, et YouTube. Chercher sur chacun de ces sites séparément peut devenir fatigant. En plus, trouver le bon contenu sur une API spécifique peut être compliqué. Parfois, les noms d'APIs sont des mots communs, ce qui peut mener à la confusion. Par exemple, une méthode appelée "read" peut renvoyer à différentes APIs, ou ça peut juste être un verbe en anglais.
Pour régler ces problèmes, un nouvel outil a été créé. Cet outil facilite la collecte d’infos sur les APIs à partir de plusieurs sources en ligne. Il s'appuie sur des travaux précédents qui connectent les APIs à différentes plateformes en ligne comme GitHub, Stack Overflow, et plus. Le but est d'aider les développeurs à trouver ce dont ils ont besoin sans avoir à chercher partout individuellement.
L'Importance des APIs
Les APIs jouent un rôle crucial dans le développement logiciel moderne. Elles permettent aux développeurs de se concentrer sur les fonctionnalités principales de leurs applications, en se fiant aux APIs pour les tâches répétitives. En faisant ça, ils gagnent du temps et augmentent leur productivité. Comprendre comment utiliser les bonnes APIs est vital pour les développeurs. Ils cherchent souvent des infos sur les APIs sur des sites comme GitHub, Stack Overflow, et Twitter.
Bien que chercher des infos sur les APIs puisse se faire manuellement, c'est souvent un processus long et pénible. Les développeurs se retrouvent souvent à ouvrir plusieurs sites et à rechercher chaque API séparément. De plus, les outils de recherche sur ces sites ne sont généralement pas spécialement conçus pour les requêtes liées aux APIs. Par conséquent, les développeurs pourraient devoir trier de nombreux résultats non pertinents avant de trouver ce qu'ils cherchent. Ce n’est pas rare de tomber sur des mentions d'APIs qui ne sont pas claires, surtout quand les noms sont génériques.
Défis Existants
Plusieurs études précédentes ont abordé les défis de la recherche de contenu lié aux APIs. Par exemple, certaines approches analysent les publications sur Stack Overflow pour voir si elles font référence à des APIs spécifiques. D'autres méthodes ont amélioré les recherches sur GitHub en se concentrant sur les types de code. Certains chercheurs ont même examiné comment identifier les tweets mentionnant des bibliothèques logicielles. Cependant, ces solutions fonctionnent souvent indépendamment, ce qui signifie que les développeurs doivent toujours naviguer sur plusieurs plateformes.
En outre, dans certains cas, les tweets ou autres contenus peuvent ne pas mentionner directement une API. Il devient donc nécessaire de comprendre d'abord à quelle bibliothèque l'API appartient avant de pouvoir la trouver. Cela ajoute une couche de complexité supplémentaire au processus.
Le Nouvel Outil
Pour simplifier le processus de recherche d'infos sur les APIs, un nouvel outil a été développé. Cet outil combine plusieurs méthodes existantes en une seule interface, rendant plus facile la recherche de contenu lié aux APIs à travers différentes sources. L'outil peut lier des APIs à des bibliothèques, ce qui aide à rassembler des infos pertinentes même quand les requêtes simples échouent. Pour les cas où il n'y a pas de méthode de liaison directe disponible, il peut quand même effectuer des recherches de texte basiques.
L'architecture de cet outil comprend trois parties principales : une base de données qui contient des connaissances sur les APIs, un système de cartographie pour lier les APIs aux bibliothèques, et un moteur de récupération qui récupère des infos sur les APIs en fonction des requêtes des utilisateurs.
Constructeur de Base de Données API : Cette partie collecte des données de différentes sources. Elle vérifie s'il existe des méthodes pour lier des infos sur les APIs selon la source du contenu. Si des informations pertinentes sur les APIs sont trouvées, elles sont stockées dans la base de données.
Constructeur de Carte API : Si le contenu est disponible uniquement par une méthode de liaison de bibliothèque, le Constructeur de Carte API prend les données sur les bibliothèques et extrait toutes les APIs publiques associées. Cette info est stockée dans une autre base de données pour référence future.
Moteur de Récupération d'Infos sur les APIs : Quand un développeur cherche une API, ce moteur cherche le contenu pertinent dans les bases de données. Selon qu'il ait des liens vers des APIs ou des bibliothèques, il récupère les infos les plus pertinentes.
Expérience Utilisateur
L'interface utilisateur permet aux développeurs d'entrer les noms des APIs dans une barre de recherche. Au fur et à mesure qu'ils tapent, le système récupère et organise les infos pertinentes à partir de différentes sources comme Stack Overflow, GitHub, Twitter, les entrées CVE, et YouTube. Le contenu de chaque plateforme est affiché dans des onglets séparés, offrant une manière conviviale de trouver les infos nécessaires.
Évaluation de l'Outil
Pour évaluer l'efficacité de l'outil, il a été testé avec plusieurs sources d'infos, y compris Stack Overflow, GitHub, et des tweets. Différentes méthodes existantes ont été appliquées pour lier les informations de ces plateformes. L'évaluation s'est concentrée sur la facilité d'utilisation de l'outil, son utilité, et si les utilisateurs souhaiteraient continuer à l'utiliser à l'avenir.
Les retours des utilisateurs ont été très positifs. La plupart ont trouvé l'outil facile à naviguer et utile pour leurs besoins, exprimant le désir de l'utiliser régulièrement.
Travaux Connexes
Il existe plusieurs approches qui visent à lier les APIs avec du contenu pertinent. Certaines méthodes se concentrent sur l'identification des mentions d'APIs dans des extraits de code, tandis que d'autres tentent de relier les APIs à des textes en ingénierie logicielle. Les chercheurs ont utilisé différentes techniques, du matching de chaînes de caractères à des modèles de machine learning avancés.
Les approches de liaison de bibliothèques visent également à connecter les bibliothèques à du contenu associé. Certaines méthodes identifient si les tweets sont pertinents pour le logiciel, tandis que d'autres lient des bibliothèques à des vulnérabilités mentionnées dans des entrées de sécurité communes. Ces outils ont fait des avancées significatives, mais se concentrent souvent sur des plateformes individuelles, ce qui ajoute de la complexité au processus de recherche.
Conclusion
Rassembler des infos sur les APIs à partir de plusieurs plateformes en ligne peut être une tâche difficile en raison de la nature dispersée du contenu et de l'ambiguïté des noms d'APIs. Les méthodes existantes ont fait des progrès dans la liaison des informations connexes, mais elles ne traitent souvent que de sources spécifiques. Le nouvel outil combine plusieurs approches de liaison en une seule interface, simplifiant ainsi l'accès des développeurs à l'information sur les APIs. Les évaluations préliminaires indiquent qu'il est convivial et efficace, offrant une base solide pour de futures améliorations.
En continuant à bâtir sur ce concept et à intégrer des sources supplémentaires, l'outil vise à faciliter encore plus la recherche d'infos sur les APIs pour les développeurs partout.
Titre: APIHarvest: Harvesting API Information from Various Online Sources
Résumé: Using APIs to develop software applications is the norm. APIs help developers to build applications faster as they do not need to reinvent the wheel. It is therefore important for developers to understand the APIs that they plan to use. Developers should also make themselves aware of relevant information updates about APIs. In order to do so, developers need to find and keep track of relevant information about the APIs that they are concerned with. Yet, the API information is scattered across various online sources, which makes it difficult to track by hand. Moreover, identifying content that is related to an API is not trivial. Motivated by these challenges, in this work, we introduce a tool named \tool that aims to ease the process of finding API information from various online sources. \tool is built on works that link APIs or libraries to various online sources. It supports finding API information on GitHub repositories, Stack Overflow's posts, tweets, YouTube videos, and common vulnerability and exposure (CVE) entries; and is extensible to support other sources.
Auteurs: Ferdian Thung, Kisub Kim, Ting Zhang, Ivana Clairine Irsan, Ratnadira Widyasari, Zhou Yang, David Lo
Dernière mise à jour: 2023-04-05 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2304.02514
Source PDF: https://arxiv.org/pdf/2304.02514
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.