Vereinfachung des Zugangs zu API-Informationen für Entwickler
Ein neues Tool erleichtert das Sammeln von API-Informationen aus mehreren Online-Quellen.
― 6 min Lesedauer
Inhaltsverzeichnis
In der heutigen Softwareentwicklungswelt sind APIS (Application Programming Interfaces) absolut unverzichtbare Werkzeuge. Sie helfen Entwicklern, Software effizienter zu erstellen, weil sie fertige Funktionen bereitstellen. Entwickler müssen wissen, wie man diese APIs effektiv nutzt, was bedeutet, dass sie die neuesten Informationen darüber im Auge behalten müssen. Leider sind diese Informationen oft über viele Webseiten verstreut, was es schwierig macht, alles an einem Ort zu sammeln.
Viele Entwickler versuchen, API-Informationen im Internet zu finden. Das kann jedoch viel Zeit und Mühe kosten. Informationen finden sich oft auf verschiedenen Plattformen wie GitHub, Stack Overflow, Twitter und YouTube. Jedes dieser Websites separat zu durchsuchen kann ermüdend sein. Ausserdem kann es knifflig sein, die richtigen Inhalte zu einer bestimmten API zu finden. Manchmal sind die Namen von APIs gängige Wörter, was zu Verwirrung führt. Zum Beispiel könnte eine Methode namens "read" sich auf verschiedene APIs beziehen oder einfach ein Verb im Englischen sein.
Um diesen Problemen zu begegnen, wurde ein neues Tool entwickelt. Dieses Tool macht es einfacher, API-Informationen aus verschiedenen Online-Quellen zu sammeln. Es baut auf früheren Arbeiten auf, die APIs mit verschiedenen Online-Plattformen wie GitHub, Stack Overflow und mehr verbinden. Das Ziel ist es, Entwicklern zu helfen, das zu finden, was sie brauchen, ohne überall einzeln suchen zu müssen.
Die Bedeutung von APIs
APIs spielen eine entscheidende Rolle in der modernen Softwareentwicklung. Sie ermöglichen es Entwicklern, sich auf die Kernfunktionen ihrer Anwendungen zu konzentrieren und sich auf APIs für wiederkehrende Aufgaben zu verlassen. Dadurch sparen sie Zeit und steigern ihre Produktivität. Zu verstehen, wie man die richtigen APIs verwendet, ist für Entwickler von grosser Bedeutung. Sie suchen oft nach Informationen über APIs auf Webseiten wie GitHub, Stack Overflow und Twitter.
Während die Suche nach API-Informationen manuell erfolgen kann, ist es oft ein langwieriger und lästiger Prozess. Entwickler öffnen häufig zahlreiche Webseiten und suchen jede API einzeln. Zudem sind Suchwerkzeuge auf diesen Webseiten normalerweise nicht speziell für API-bezogene Anfragen konzipiert. Daher müssen Entwickler oft durch viele irrelevante Ergebnisse blättern, bevor sie finden, was sie brauchen. Es ist nicht ungewöhnlich, dass sie auf Erwähnungen von APIs stossen, die unklar sind, insbesondere wenn die Namen allgemein sind.
Bestehende Herausforderungen
Einige frühere Studien haben sich mit den Herausforderungen beschäftigt, Inhalte zu APIs zu finden. Zum Beispiel analysieren einige Ansätze Beiträge auf Stack Overflow, um festzustellen, ob sie sich auf bestimmte APIs beziehen. Andere Methoden haben die Suchen auf GitHub verbessert, indem sie sich auf die Arten von Code konzentrieren. Einige Forscher haben sogar untersucht, wie man Tweets identifizieren kann, die Softwarebibliotheken erwähnen. Allerdings funktionieren diese Lösungen oft unabhängig, was bedeutet, dass Entwickler weiterhin mehrere Plattformen durchforsten müssen.
Ausserdem können Tweets oder andere Inhalte in einigen Fällen das API nicht direkt erwähnen. Daher ist es notwendig, zunächst zu verstehen, zu welcher Bibliothek die API gehört, bevor sie gefunden werden kann. Das fügt dem Prozess eine weitere Komplexitätsebene hinzu.
Das neue Tool
Um den Prozess der Suche nach API-Informationen zu vereinfachen, wurde ein neues Tool entwickelt. Dieses Tool kombiniert verschiedene bestehende Methoden zu einer einzigen Schnittstelle, die es einfacher macht, API-bezogene Inhalte aus verschiedenen Quellen zu finden. Das Tool kann APIs mit Bibliotheken verknüpfen, was hilft, relevante Informationen zu sammeln, selbst wenn einfache Abfragen fehlschlagen. Für Fälle, in denen keine direkte Verknüpfungsmethode verfügbar ist, kann es immer noch grundlegende Textsuchen durchführen.
Die Architektur dieses Tools umfasst drei Hauptteile: eine Datenbank, die API-Wissen speichert, ein Mapping-System, das APIs mit Bibliotheken verknüpft, und eine Abruf-Engine, die API-Informationen basierend auf Benutzeranfragen abruft.
API-Datenbank-Builder: Dieser Teil sammelt Daten aus verschiedenen Quellen. Er prüft, ob es bestehende Methoden gibt, um API-Informationen basierend auf der Quelle des Inhalts zu verknüpfen. Wenn relevante Informationen über APIs gefunden werden, werden sie in der Datenbank gespeichert.
API-Karten-Builder: Wenn die Inhalte nur über eine Bibliotheksverknüpfungsmethode verfügbar sind, nimmt der API-Karten-Builder die Daten über Bibliotheken und extrahiert alle öffentlichen APIs, die damit verbunden sind. Diese Informationen werden in einer anderen Datenbank für zukünftige Referenz gespeichert.
API-Informationsabruf-Engine: Wenn ein Entwickler nach einer API sucht, fragt diese Engine die relevanten Inhalte in den Datenbanken ab. Je nachdem, ob sie Links zu APIs oder Bibliotheken hat, ruft sie die relevantesten Informationen ab.
Benutzererfahrung
Die Benutzeroberfläche erlaubt es Entwicklern, API-Namen in eine Suchleiste einzugeben. Während sie tippen, ruft das System relevante Informationen aus verschiedenen Quellen wie Stack Overflow, GitHub, Twitter, CVE-Einträgen und YouTube ab und organisiert sie. Die Inhalte jeder Plattform werden in separaten Tabs angezeigt, was eine benutzerfreundliche Möglichkeit bietet, benötigte Informationen zu finden.
Bewertung des Tools
Um die Effektivität des Tools zu bewerten, wurde es mit verschiedenen Informationsquellen getestet, darunter Stack Overflow, GitHub und Tweets. Verschiedene bestehende Methoden wurden angewandt, um die Informationen von diesen Plattformen zu verknüpfen. Die Bewertung konzentrierte sich darauf, wie einfach das Tool zu bedienen ist, wie nützlich es ist und ob die Benutzer es in Zukunft weiterhin nutzen möchten.
Das Feedback von Benutzern war überwiegend positiv. Die meisten fanden das Tool einfach zu navigieren und nützlich für ihre Bedürfnisse und äusserten den Wunsch, es regelmässig zu nutzen.
Verwandte Arbeiten
Es gibt verschiedene Ansätze, die darauf abzielen, APIs mit relevanten Inhalten zu verknüpfen. Einige Methoden konzentrieren sich darauf, API-Erwähnungen in Codeschnipseln zu identifizieren, während andere versuchen, APIs mit Texten aus der Softwaretechnik zu verbinden. Forscher haben unterschiedliche Techniken verwendet, von String-Matching bis hin zu fortgeschrittenen Machine-Learning-Modellen.
Bibliotheksverknüpfungsansätze zielen ebenfalls darauf ab, Bibliotheken mit verwandten Inhalten zu verbinden. Einige Methoden identifizieren, ob Tweets für Software relevant sind, während andere Bibliotheken mit Schwachstellen verknüpfen, die in gängigen Sicherheitsmeldungen erwähnt werden. Diese Tools haben erhebliche Fortschritte gemacht, konzentrieren sich jedoch oft auf einzelne Plattformen, was den Forschungsprozess komplizierter macht.
Fazit
Das Sammeln von API-Informationen aus verschiedenen Online-Plattformen kann eine herausfordernde Aufgabe sein, aufgrund der verstreuten Natur der Inhalte und der Mehrdeutigkeit von API-Namen. Bestehende Methoden haben Fortschritte gemacht, um verwandte Informationen zu verknüpfen, aber sie behandeln oft nur spezifische Quellen. Das neue Tool kombiniert mehrere Verknüpfungsansätze in einer Schnittstelle, wodurch es für Entwickler einfacher wird, auf API-Informationen zuzugreifen. Vorläufige Bewertungen zeigen, dass es benutzerfreundlich und effektiv ist, und eine solide Grundlage für zukünftige Verbesserungen bietet.
Durch den weiteren Ausbau dieses Konzepts und die Integration zusätzlicher Quellen zielt das Tool darauf ab, den Prozess der Suche nach API-Informationen für Entwickler überall weiter zu erleichtern.
Titel: APIHarvest: Harvesting API Information from Various Online Sources
Zusammenfassung: 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.
Autoren: Ferdian Thung, Kisub Kim, Ting Zhang, Ivana Clairine Irsan, Ratnadira Widyasari, Zhou Yang, David Lo
Letzte Aktualisierung: 2023-04-05 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2304.02514
Quell-PDF: https://arxiv.org/pdf/2304.02514
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.