Method for classifying software development tools based on Stack Overflow survey data

Alla Grigorievna Kravets, Ivan Vital'evich Kaz'min, Artem Gennad'evich Bondarenko · VESTNIK OF ASTRAKHAN STATE TECHNICAL UNIVERSITY SERIES MANAGEMENT COMPUTER SCIENCE AND INFORMATICS · 2025

This study is devoted to the development and testing of a new approach to the classification of software de-velopment tools (ST), based on the analysis of the dataset from the Stack Overflow 2024 developer survey, in order to solve the urgent problem of choosing the optimal technology stack in the context of a variety of technologies. The purpose of the research is to identify the required software development tools, classify them by application areas and relevance to form a knowledge base that can be used to create recommendation systems. Programming languages (PL) were used as an example to demonstrate the method. The process includes the preparation of data from the Stack Overflow dataset, namely, the selection of features such as the type of developer and the tools used by him; cleaning, processing gaps, reducing the types of developers and applying a quantitative classification method. The developed method is based on calculating and normalizing the frequency of use of each language in the context of different types of developers to eliminate the imbalance in the sample. Two key indicators are calculated for each PL: the maximum normalized frequency of use (Cmax) and the coefficient of variation (CV), reflecting the uniformity of its use. Classification into 3 categories – “general purpose”, “industry” and “niche” – is performed by comparing individual indicators of Cmax and CV of the language with their median values for the entire set of languages. The results, presented as a histogram, clearly demonstrate the division of languages: general-purpose (for example, Python, JavaScript), industry-specific, in-demand in specific areas (for example, Swift, Kotlin, R), and niche (for example, Crystal and Delphi). The proposed method forms a structured, data-based view of the technological landscape, which can be useful to developers when choosing tools and lays the foundation for creating recommendation systems.

Read the paper · More papers on PaperTik