Simple Science

Scienza all'avanguardia spiegata semplicemente

# Informatica# Ingegneria del software

Semplificare l'accesso alle informazioni API per gli sviluppatori

Un nuovo strumento semplifica la raccolta di informazioni API da più fonti online.

― 6 leggere min


Accesso alle Info APIAccesso alle Info APISemplificatodati API su diverse piattaforme.Nuovo strumento semplifica l'accesso ai
Indice

Nel mondo dello sviluppo software di oggi, le API (Interfacce di Programmazione delle Applicazioni) sono strumenti fondamentali. Aiutano gli sviluppatori a creare software in modo più efficiente perché forniscono funzioni pronte all'uso. Gli sviluppatori devono sapere come usare al meglio queste API, il che significa tenere d'occhio le ultime informazioni su di esse. Purtroppo, queste informazioni sono spesso sparse su molti siti web, rendendo difficile raccogliere tutto in un unico posto.

Molti sviluppatori cercano informazioni sulle API cercando in internet. Tuttavia, questo può richiedere molto tempo e fatica. Le informazioni si trovano spesso su varie piattaforme come GitHub, Stack Overflow, Twitter e YouTube. Cercare ognuno di questi siti separatamente può essere stancante. Inoltre, trovare il contenuto giusto relativo a una specifica API può essere complicato. A volte, i nomi delle API sono parole comuni, portando a confusione. Ad esempio, un metodo chiamato "read" potrebbe riferirsi a diverse API, oppure potrebbe semplicemente essere un verbo in inglese.

Per affrontare questi problemi, è stato creato un nuovo strumento. Questo strumento facilita la raccolta di informazioni sulle API da più fonti online. Si basa su lavori precedenti che collegano le API a varie piattaforme online come GitHub, Stack Overflow e altro. L'obiettivo è aiutare gli sviluppatori a trovare ciò di cui hanno bisogno senza dover cercare ovunque singolarmente.

L'importanza delle API

Le API giocano un ruolo cruciale nello sviluppo software moderno. Permettono agli sviluppatori di concentrarsi sulla creazione delle funzionalità principali delle loro applicazioni, facendo affidamento sulle API per compiti ripetitivi. In questo modo, risparmiano tempo e aumentano la loro produttività. Capire come usare le API giuste è vitale per gli sviluppatori. Spesso cercano informazioni sulle API su siti web come GitHub, Stack Overflow e Twitter.

Anche se cercare informazioni sulle API può essere fatto manualmente, è spesso un processo lungo e noioso. Gli sviluppatori si trovano frequentemente ad aprire numerosi siti web e a cercare ogni API separatamente. Inoltre, gli strumenti di ricerca su questi siti di solito non sono progettati specificamente per query relative alle API. Di conseguenza, gli sviluppatori potrebbero dover setacciare molti risultati non correlati prima di trovare ciò che gli serve. Non è raro che si imbattano in menzioni di API poco chiare, specialmente quando i nomi sono generici.

Sfide esistenti

Diverse ricerche precedenti hanno affrontato le sfide nel trovare contenuti relativi alle API. Ad esempio, alcuni approcci analizzano i post su Stack Overflow per vedere se si riferiscono a specifiche API. Altri metodi hanno migliorato le ricerche su GitHub concentrandosi sui tipi di codice. Alcuni ricercatori hanno persino esaminato come identificare i tweet che menzionano librerie software. Tuttavia, queste soluzioni spesso lavorano in modo indipendente, il che significa che gli sviluppatori devono comunque navigare su più piattaforme.

Inoltre, in alcuni casi, i tweet o altri contenuti potrebbero non menzionare direttamente un'API. Pertanto, diventa necessario prima capire a quale libreria appartiene l'API prima di poterla trovare. Questo aggiunge un ulteriore livello di complessità al processo.

Il nuovo strumento

Per semplificare il processo di ricerca di informazioni sulle API, è stato sviluppato un nuovo strumento. Questo strumento combina vari metodi esistenti in un'unica interfaccia, rendendo più facile rintracciare contenuti relativi alle API da diverse fonti. Lo strumento può collegare le API alle librerie, il che aiuta a raccogliere informazioni rilevanti anche quando le query semplici falliscono. Per i casi in cui non c'è un metodo di collegamento diretto disponibile, può comunque effettuare ricerche di testo di base.

L'architettura di questo strumento include tre parti principali: un database che contiene conoscenze sulle API, un sistema di mappatura per collegare le API alle librerie e un motore di recupero che recupera informazioni sulle API in base alle query degli utenti.

  1. Costruttore di Database API: Questa parte raccoglie dati da fonti diverse. Controlla se ci sono metodi esistenti per collegare informazioni sulle API in base alla fonte del contenuto. Se vengono trovate informazioni rilevanti sulle API, vengono memorizzate nel database.

  2. Costruttore di Mappa API: Se il contenuto è disponibile solo tramite un metodo di collegamento alla libreria, il Costruttore di Mappa API prende i dati sulle librerie ed estrae tutte le API pubbliche ad esse correlate. Queste informazioni vengono memorizzate in un altro database per riferimento futuro.

  3. Motore di Recupero Informazioni API: Quando uno sviluppatore cerca un'API, questo motore cerca il contenuto rilevante nei database. A seconda che disponga di collegamenti alle API o alle librerie, recupera le informazioni più pertinenti.

Esperienza Utente

L'interfaccia utente consente agli sviluppatori di inserire i nomi delle API in una barra di ricerca. Mentre digitano, il sistema recupera e organizza informazioni rilevanti da varie fonti come Stack Overflow, GitHub, Twitter, voci CVE e YouTube. Il contenuto di ogni piattaforma viene visualizzato in schede separate, offrendo un modo user-friendly per trovare le informazioni necessarie.

Valutazione dello Strumento

Per valutare l'efficacia dello strumento, è stato testato con diverse fonti di informazione, inclusi Stack Overflow, GitHub e tweet. Sono stati applicati vari metodi esistenti per collegare le informazioni provenienti da queste piattaforme. La valutazione si è concentrata su quanto sia facile usare lo strumento, sulla sua utilità e se gli utenti desidererebbero continuare a usarlo in futuro.

Il feedback degli utenti è stato entusiasta. La maggior parte ha trovato lo strumento facile da navigare e utile per le proprie esigenze, esprimendo il desiderio di utilizzarlo regolarmente.

Lavori Correlati

Esistono vari approcci che mirano a collegare le API con contenuti rilevanti. Alcuni metodi si concentrano sull'identificazione di menzioni di API in frammenti di codice, mentre altri cercano di collegare le API ai testi di ingegneria del software. I ricercatori hanno utilizzato tecniche diverse, dal matching di stringhe a modelli avanzati di machine learning.

Gli approcci di collegamento delle librerie mirano anche a connettere le librerie con contenuti correlati. Alcuni metodi identificano se i tweet sono rilevanti per il software, mentre altri collegano le librerie a vulnerabilità menzionate in voci di sicurezza comuni. Questi strumenti hanno fatto significativi progressi, ma spesso si concentrano su piattaforme individuali, il che aggiunge complessità al processo di ricerca.

Conclusione

Raccogliere informazioni sulle API da varie piattaforme online può essere un compito difficile a causa della natura dispersa del contenuto e dell'ambiguità dei nomi delle API. I metodi esistenti hanno fatto passi avanti nel collegare informazioni correlate, ma spesso affrontano solo fonti specifiche. Il nuovo strumento combina più approcci di collegamento in un'unica interfaccia, semplificando il modo in cui gli sviluppatori accedono alle informazioni sulle API. Le valutazioni preliminari indicano che è user-friendly ed efficace, fornendo una solida base per futuri miglioramenti.

Continuando a costruire su questo concetto e integrando fonti aggiuntive, lo strumento mira a facilitare ulteriormente il processo di ricerca di informazioni sulle API per sviluppatori ovunque.

Fonte originale

Titolo: APIHarvest: Harvesting API Information from Various Online Sources

Estratto: 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.

Autori: Ferdian Thung, Kisub Kim, Ting Zhang, Ivana Clairine Irsan, Ratnadira Widyasari, Zhou Yang, David Lo

Ultimo aggiornamento: 2023-04-05 00:00:00

Lingua: English

URL di origine: https://arxiv.org/abs/2304.02514

Fonte PDF: https://arxiv.org/pdf/2304.02514

Licenza: https://creativecommons.org/licenses/by/4.0/

Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.

Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.

Altro dagli autori

Articoli simili