{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,4]],"date-time":"2026-03-04T06:15:10Z","timestamp":1772604910580,"version":"3.50.1"},"reference-count":37,"publisher":"MDPI AG","issue":"2","license":[{"start":{"date-parts":[[2021,1,22]],"date-time":"2021-01-22T00:00:00Z","timestamp":1611273600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"Chongqing Graduate Tutor Team Construction Project","award":["ydstd1821"],"award-info":[{"award-number":["ydstd1821"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Entropy"],"abstract":"<jats:p>Software products in the market are changing due to changes in business processes, technology, or new requirements from the customers. Maintainability of legacy systems has always been an inspiring task for the software companies. In order to determine whether the software requires maintainability by reverse engineering or by forward engineering approach, a system assessment was done from diverse perspectives: quality, business value, type of errors, etc. In this research, the changes required in the existing software components of the legacy system were identified using a supervised learning approach. New interfaces for the software components were redesigned according to the new requirements and\/or type of errors. Software maintainability was measured by applying a machine learning technique, i.e., Na\u00efve Bayes classifier. The dataset was designed based on the observations such as component state, successful or error type in the component, line of code of error that exists in the component, component business value, and changes required for the component or not. The results generated by the Waikato Environment for Knowledge Analysis (WEKA) software confirm the effectiveness of the introduced methodology with an accuracy of 97.18%.<\/jats:p>","DOI":"10.3390\/e23020136","type":"journal-article","created":{"date-parts":[[2021,1,22]],"date-time":"2021-01-22T11:13:53Z","timestamp":1611314033000},"page":"136","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":9,"title":["Measuring Software Maintainability with Na\u00efve Bayes Classifier"],"prefix":"10.3390","volume":"23","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4383-9661","authenticated-orcid":false,"given":"Nayyar","family":"Iqbal","sequence":"first","affiliation":[{"name":"School of Big Data &amp; Software Engineering, Chongqing University, Chongqing 401331, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8703-7310","authenticated-orcid":false,"given":"Jun","family":"Sang","sequence":"additional","affiliation":[{"name":"School of Big Data &amp; Software Engineering, Chongqing University, Chongqing 401331, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jing","family":"Chen","sequence":"additional","affiliation":[{"name":"School of Big Data &amp; Software Engineering, Chongqing University, Chongqing 401331, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Xiaofeng","family":"Xia","sequence":"additional","affiliation":[{"name":"School of Big Data &amp; Software Engineering, Chongqing University, Chongqing 401331, China"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2021,1,22]]},"reference":[{"key":"ref_1","unstructured":"Moore, J.W. (2006). The Road Map to Software Engineering: A Standards-Based Guide, Wiley-IEEE Computer Society Press. [2nd ed.]."},{"key":"ref_2","unstructured":"Fairly, R.E. (D2009). Managing and Leading Software Projects, Wiley-IEEE Computer Society Press. [2nd ed.]."},{"key":"ref_3","unstructured":"Kan, S.H. (2002). Metrics and Models in Software Quality Engineering, Addison-Wesley Professional. [2nd ed.]."},{"key":"ref_4","first-page":"1","article-title":"Introduction to machine learning and software engineering","volume":"11","author":"Zhang","year":"2005","journal-title":"Ser. Softw. Eng. Knowl. Eng."},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"180","DOI":"10.1016\/j.infsof.2015.07.006","article-title":"A methodology for the classification of quality of requirements using machine learning techniques","volume":"67","author":"Parra","year":"2015","journal-title":"Inf. Softw. Technol."},{"key":"ref_6","unstructured":"Loucopoulos, P., and Karakostas, V. (1995). System Requirements Engineering, McGraw-Hill Education."},{"key":"ref_7","unstructured":"Scott, D., and Morgado, M. (2020, September 29). 6 Reasons for Employing Component-Based UI Development. Available online: https:\/\/sruthik926.github.io\/mvc_vs_component_based_architecture\/."},{"key":"ref_8","unstructured":"Institute of Electrical and Electronics Engineering (1990). IEEE Standard Glossary of Software Engineering Terminology, IEEE. IEEE Std 610.121990."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"75","DOI":"10.1145\/181610.181623","article-title":"The IEEE standard for software maintenance","volume":"19","author":"Mamone","year":"1994","journal-title":"ACM SIGSOFT Softw. Eng. Notes"},{"key":"ref_10","unstructured":"Murphy, K.P. (2018). Machine Learning: A Probabilistic Perspective, MIT Press. [2nd ed.]."},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Iqbal, N., Sang, J., Gao, M., Hu, H., and Xiang, H. (2019, January 10\u201312). Forward engineering completeness for software by using requirements validation framework. Proceedings of the 31st International Conference on Software Engineering and Knowledge Engineering, Lisbon, Portugal.","DOI":"10.18293\/SEKE2019-144"},{"key":"ref_12","unstructured":"Pressman, R.S. (2014). Software Engineering: A Practitioner\u2019s Approach, McGraw-Hill Education. [8th ed.]."},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Boulanger, J.-L. (2018). Software specification verification stage. Certifiable Software Applications 3, ISTE Press Ltd.","DOI":"10.1016\/B978-1-78548-119-2.50007-8"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"513","DOI":"10.1016\/j.aej.2014.06.001","article-title":"Detecting defects in software requirements specification","volume":"53","author":"Alshazly","year":"2014","journal-title":"Alex. Eng. J."},{"key":"ref_15","unstructured":"ISO\/IEC Information Technology (2003). Guidelines for the Preparation of Programming Language Standards, ISO. [4th ed.]."},{"key":"ref_16","unstructured":"Miller, A., and Wu, L. (2019). Daily Coding Problem, Independently Published."},{"key":"ref_17","unstructured":"Sommerville, I. (2015). Software Engineering, Pearson Education Limited. [10th ed.]."},{"key":"ref_18","doi-asserted-by":"crossref","unstructured":"Hakim, H., Sellami, A., and Abdallah, H.B. (2017, January 7\u20139). Identifying and localizing the inter-consistency errors among UML use cases and ac-tivity diagrams: An approach based on functional and structural size measurements. Proceedings of the 15th International Conference on Software Engineering Research, Management and Applications, London, UK.","DOI":"10.1109\/SERA.2017.7965740"},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"41","DOI":"10.1016\/j.jvlc.2018.08.001","article-title":"Analyzing data flow diagrams by combination of formal methods and visualization techniques","volume":"48","author":"Zhang","year":"2018","journal-title":"J. Vis. Lang. Comput."},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"534","DOI":"10.1016\/j.datak.2007.09.011","article-title":"Defining and validating metrics for assessing the understandability of entity\u2013relationship diagrams","volume":"64","author":"Genero","year":"2008","journal-title":"Data Knowl. Eng."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Lanzaro, A., Natella, R., Winter, S., Cotroneo, D., and Suri, N. (2014, January 21\u201325). An empirical study of injected versus actual interface errors. Proceedings of the ISSTA 2014 International Symposium on Low Power Electronics and Design, San Jose, CA, USA.","DOI":"10.1145\/2610384.2610418"},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"23","DOI":"10.1145\/3306493","article-title":"Incomplete tests for undetectable faults to improve test set quality","volume":"24","author":"Pomeranz","year":"2019","journal-title":"ACM Trans. Des. Autom. Electron. Syst."},{"key":"ref_23","unstructured":"Barker, T.T. (2002). Writing Software Documentation: A Task-Oriented Approach, Pearson Education Limited. [2nd ed.]."},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Cleland-Huang, J. (2018, January 20\u201324). Disruptive change in requirements engineering research. Proceedings of the 2018 IEEE 26th International Requirements Engineering Conference (RE), Banff, AB, Canada.","DOI":"10.1109\/RE.2018.00-58"},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"1089","DOI":"10.1109\/32.738341","article-title":"Inferring declarative requirements specification from operational scenarios","volume":"24","author":"Lamsweerde","year":"1998","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_26","unstructured":"Evett, M., Khoshgoftar, T., Chien, P., and Allen, E. (1998, January 22\u201325). GP based software quality prediction. Proceedings of the Third Annual Genetic Programming Conference, Madison, WI, USA."},{"key":"ref_27","doi-asserted-by":"crossref","first-page":"107","DOI":"10.1007\/BF00871824","article-title":"Inductive specification recovery: Understanding software by learning from example behaviors","volume":"2","author":"Cohen","year":"1995","journal-title":"Autom. Softw. Eng."},{"key":"ref_28","unstructured":"Regolin, E., De Souza, G., Pozo, A., and Vergilio, S. (2003, January 6\u20137). Exploring machine learning techniques for software size estimation. Proceedings of the 23rd International Conference of the Chilean Computer Science Society, SCCC 2003 Proceedings, Chillan, Chile."},{"key":"ref_29","doi-asserted-by":"crossref","first-page":"1006","DOI":"10.1109\/32.879821","article-title":"A validation of the component-based method for software size estimation","volume":"26","author":"Dolado","year":"2000","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_30","doi-asserted-by":"crossref","first-page":"931","DOI":"10.1109\/32.177363","article-title":"A pattern recognition approach for software engineering data analysis","volume":"18","author":"Briand","year":"1992","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"1308","DOI":"10.3906\/elk-1809-129","article-title":"Performance tuning for machine learning-based software development effort prediction models","volume":"27","author":"Ertugrul","year":"2019","journal-title":"Turk. J. Electr. Eng. Comput. Sci."},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Alhusain, S., Coupland, S., John, R., and Kavanagh, M. (2013, January 9\u201311). Towards machine learning based design pattern recognition. Proceedings of the 2013 13th UK Workshop on Computational Intelligence (UKCI), Guilford, UK.","DOI":"10.1109\/UKCI.2013.6651312"},{"key":"ref_33","doi-asserted-by":"crossref","first-page":"319","DOI":"10.1023\/A:1008679010073","article-title":"Case-based knowledge management tools for software development","volume":"4","author":"Henninger","year":"1997","journal-title":"Autom. Softw. Eng."},{"key":"ref_34","doi-asserted-by":"crossref","unstructured":"Zhang, D., and Tsai, J.J.P. (2007). ILP Applications to Software Engineering in Advances in Machine Learning Applications in Software Engineering, Idea Group Publishing.","DOI":"10.4018\/978-1-59140-941-0"},{"key":"ref_35","unstructured":"Alwis, R., and Perera, S. (2020, September 30). Machine Learning Techniques for Predictive Maintenance. Available online: https:\/\/www.infoq.com\/articles\/machine-learning-techniques-predictive-maintenance\/."},{"key":"ref_36","unstructured":"Ansari, M.Z.A. (2020, September 30). Softrology: Learn Software Technologies. Available online: https:\/\/softrology.blogspot.com\/search?q=inverse."},{"key":"ref_37","unstructured":"(2020, September 30). Machine Learning at Waikato University. Available online: https:\/\/www.cs.waikato.ac.nz\/ml\/index.html."}],"container-title":["Entropy"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1099-4300\/23\/2\/136\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T05:14:08Z","timestamp":1760159648000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1099-4300\/23\/2\/136"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,1,22]]},"references-count":37,"journal-issue":{"issue":"2","published-online":{"date-parts":[[2021,2]]}},"alternative-id":["e23020136"],"URL":"https:\/\/doi.org\/10.3390\/e23020136","relation":{},"ISSN":["1099-4300"],"issn-type":[{"value":"1099-4300","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,1,22]]}}}