Data Mining Techniques used in Software Engineering: A Survey - Thomas, Nidhin; Joshi, Atharva; Misal, Rishikesh; Manjula, R (International Journal of Computer Sciences and Engineering, 2025)
A typical software development process has several stages; each with its own significance and dependency on the other. Each stage is often complex and generates a wide variety of data. Using data mining techniques, we can uncover hidden patterns from this data, measure the impact of each stage on the other and gather useful information to improve the software development process. The insights gained from the extracted knowledge patterns can help software engineers to predict, plan and comprehend the various intricacies of the project, allowing them to optimize future software development activities. As every stage in the development process entails a certain outcome or goal, it becomes crucial to select the best data mining techniques to achieve these goals efficiently. In this paper, we survey the available data mining techniques and propose the most appropriate techniques for each stage of the development process. We also discuss how data mining improves the software development process in terms of time, cost, resources, reliability and maintainability.