TechSpaces: Identifying and Clustering Popular Programming Technologies

  • Guilherme Miranda UFMG
  • João Eduardo Montandon UFMG
  • Marco Tulio Valente UFMG

Resumo


Background: Software ecosystems are becoming increasingly complex and large. Therefore, discovering and selecting the right libraries and frameworks for use in a project is becoming a challenging task. Existing commercial services that support this task rely on annual surveys with developers to provide a landscape of the most popular technologies in a given ecosystem. Aims: In this paper, we outline a semi-automated technique for this purpose, which we call TechSpaces. Method: Our proposal relies on community detection and well-known NLP algorithms to automatically extract groups of related technologies, using as primary data source tags associated with Stack Overflow questions. Results: We describe the first results of using our technique to identify popular and inter-related technologies in five programming language ecosystems. Evaluation: We compare our technique against two other tools in the literature. Conclusions: The proposed technique shows potential to assist IT professionals in taking technical decisions supported by crowd knowledge. However, further improvements are needed to make it a viable choice. For instance, we envision the usage of other data sources (e.g., GitHub and Wikipedia) can contribute to improve the accuracy and expressiveness of our graph representations.

Palavras-chave: Community detection algorithms, Programming technologies, APIs, Mining software repositories
Publicado
03/10/2022
MIRANDA, Guilherme; MONTANDON, João Eduardo; VALENTE, Marco Tulio. TechSpaces: Identifying and Clustering Popular Programming Technologies. In: SIMPÓSIO BRASILEIRO DE COMPONENTES, ARQUITETURAS E REUTILIZAÇÃO DE SOFTWARE (SBCARS), 16. , 2022, Uberlândia. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2022 . p. 60–67.