Projecten per jaar
Samenvatting
Selecting an appropriate library for reuse within a vast software ecosystem can be a daunting task. A list of features for each library, i.e., a short description of the functionality that can be reused with code examples that illustrate its usage, may
alleviate this problem. In this paper, we propose a data-driven approach that uses both the code snippets and the accompanying natural language descriptions from Stack Overflow posts to produce a list of features of a given library. Each extracted feature corresponds to a cluster of API classes and methods considered related based on attributes of the Stack Overflow posts in which they appear. We evaluated the approach considering seven Maven libraries and compared the resulting features against library descriptions from cookbook-like tutorials. The approach achieves
an average accuracy of 67% across the seven libraries for the tutorial-like features. For at least 73% of the features extracted by the approach but missing from the documentation, we found a matching library usage in a corpus of GitHub projects. These results suggest that our clusters represent library features, which
paves the way to better tool support for documenting software libraries and for selecting a library in an ecosystem.
alleviate this problem. In this paper, we propose a data-driven approach that uses both the code snippets and the accompanying natural language descriptions from Stack Overflow posts to produce a list of features of a given library. Each extracted feature corresponds to a cluster of API classes and methods considered related based on attributes of the Stack Overflow posts in which they appear. We evaluated the approach considering seven Maven libraries and compared the resulting features against library descriptions from cookbook-like tutorials. The approach achieves
an average accuracy of 67% across the seven libraries for the tutorial-like features. For at least 73% of the features extracted by the approach but missing from the documentation, we found a matching library usage in a corpus of GitHub projects. These results suggest that our clusters represent library features, which
paves the way to better tool support for documenting software libraries and for selecting a library in an ecosystem.
Originele taal-2 | English |
---|---|
Titel | Proceedings of the 29th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2022) |
Uitgeverij | IEEE |
Pagina's | 207-217 |
Aantal pagina's | 11 |
ISBN van elektronische versie | 978-1-6654-3786-8 |
ISBN van geprinte versie | 978-1-6654-3787-5 |
DOI's | |
Status | Published - 2022 |
Evenement | 29th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2022) - University of Hawaii, Honolulu, United States Duur: 15 mrt. 2022 → 18 mrt. 2022 Congresnummer: 29th https://saner2022.uom.gr/ |
Publicatie series
Naam | Proceedings - 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2022 |
---|
Conference
Conference | 29th IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2022) |
---|---|
Verkorte titel | SANER |
Land/Regio | United States |
Stad | Honolulu |
Periode | 15/03/22 → 18/03/22 |
Internet adres |
Vingerafdruk
Duik in de onderzoeksthema's van 'Uncovering Library Features from API Usage on Stack Overflow'. Samen vormen ze een unieke vingerafdruk.Projecten
- 1 Afgelopen
-
FWOEOS10: Geautomatiseerde assistentie voor het ontwikkelen van software in ecosystemen van de toekomst
De Roover, C., Mens, T., Demeyer, S. & Cleve, A.
1/01/18 → 31/12/21
Project: Fundamenteel
Datasets
-
Uncovering Library Features from API Usage on Stack Overflow
Velazquez Rodriguez, C. E. (Creator), Constantinou, E. (Creator) & De Roover, C. (Creator), Zenodo, 24 jan. 2024
Dataset
Prijzen
-
Distinguished Paper Award to: Uncovering Library Features from API Usage on Stack Overflow
Velazquez Rodriguez, Camilo Ernesto (Recipient), Constantinou, Eleni (Recipient) & De Roover, Coen (Recipient), 15 mrt. 2022
Prijs: Prize (including medals and awards)
Bestand