Predictive Software Quality

Sayed Mohsin Reza, PhD Student

One primary purpose of software design is to reduce costs associated with software maintenance and evolution. As such, software design entails insights and intuitions on how the software may evolve over an extended period. In this context, effective designs are those that can effectively facilitate software maintenance while minimizing quality decay. Therefore, empowering software designers and architects with evidence-based insights on how the software components are likely to evolve over time will have a significant impact on the code quality features.

Predictive Software Quality Research Framework

In this research, we use software quality features information and machine learning techniques to train the data and predict future behavior of software. To be more specific, we investigate the efficacy of detecting software quality features to automatically improve software quality. We analyze large number of software repositories and extract code quality features of all the classes of those software repositories. We use different machine learning techniques to build ML models and train code quality feature dataset to classify software quality features. Using ML automatic prediction on code quality features will allow software quality managers, practitioners to take preventive action against bad quality. Such proactive actions will allow software redesign and prevent code smell/vulnerabilities in the software life cycle.


  1. K. Rahad, O. Badreddin, and S. Reza, “Characterization of Software Design and Collaborative Modeling in Open-Source Projects.” Accepted for publication at the 9th International Conference on Model-Driven Engineering and Software Development, 2021.
  2. Reza, Sayed Mohsin; Badreddin, Omar (2020), “Software Quality and Code Metrics Dataset ”, Mendeley Data, V1, doi: 10.17632/77p6rzb73n.1
  3. Sayed Mohsin Reza, Omar Badreddin, and Khandoker Rahad. ModelMine: A tool to facilitate mining models from open source repositories. In 2020 ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems (MODELS). ACM, 2020.
  4. Moshin Reza S., Mahfujur Rahman M., Parvez H., Badreddin O., Al Mamun S. (2021) Performance Analysis of Machine Learning Approaches in Software Complexity Prediction. In: Kaiser M.S., Bandyopadhyay A., Mahmud M., Ray K. (eds) Proceedings of International Conference on Trends in Computational and Cognitive Engineering. Advances in Intelligent Systems and Computing, vol 1309. Springer, Singapore.