TechSpaces: Identifying and Clustering Popular Programming Technologies
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.