{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,19]],"date-time":"2026-06-19T17:11:54Z","timestamp":1781889114178,"version":"3.54.5"},"reference-count":61,"publisher":"MDPI AG","issue":"5","license":[{"start":{"date-parts":[[2018,5,17]],"date-time":"2018-05-17T00:00:00Z","timestamp":1526515200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Entropy"],"abstract":"<jats:p>The current era demands high quality software in a limited time period to achieve new goals and heights. To meet user requirements, the source codes undergo frequent modifications which can generate the bad smells in software that deteriorate the quality and reliability of software. Source code of the open source software is easily accessible by any developer, thus frequently modifiable. In this paper, we have proposed a mathematical model to predict the bad smells using the concept of entropy as defined by the Information Theory. Open-source software Apache Abdera is taken into consideration for calculating the bad smells. Bad smells are collected using a detection tool from sub components of the Apache Abdera project, and different measures of entropy (Shannon, R\u00e9nyi and Tsallis entropy). By applying non-linear regression techniques, the bad smells that can arise in the future versions of software are predicted based on the observed bad smells and entropy measures. The proposed model has been validated using goodness of fit parameters (prediction error, bias, variation, and Root Mean Squared Prediction Error (RMSPE)). The values of model performance statistics (    R 2    , adjusted    R 2    , Mean Square Error (MSE) and standard error) also justify the proposed model. We have compared the results of the prediction model with the observed results on real data. The results of the model might be helpful for software development industries and future researchers.<\/jats:p>","DOI":"10.3390\/e20050372","type":"journal-article","created":{"date-parts":[[2018,5,17]],"date-time":"2018-05-17T11:47:45Z","timestamp":1526557665000},"page":"372","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":44,"title":["Software Code Smell Prediction Model Using Shannon, R\u00e9nyi and Tsallis Entropies"],"prefix":"10.3390","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0835-8413","authenticated-orcid":false,"given":"Aakanshi","family":"Gupta","sequence":"first","affiliation":[{"name":"Department of Computer Science and Engineering, Amity School of Engineering and Technology, New Delhi 110061, India"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Bharti","family":"Suri","sequence":"additional","affiliation":[{"name":"University School of Information, Communication and Technology, Guru Gobind Singh Indraprastha University, New Delhi 110078, India"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2996-7181","authenticated-orcid":false,"given":"Vijay","family":"Kumar","sequence":"additional","affiliation":[{"name":"Department of Mathematics, Amity School of Engineering and Technology, New Delhi 110061, India"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3556-9331","authenticated-orcid":false,"given":"Sanjay","family":"Misra","sequence":"additional","affiliation":[{"name":"Center of Information and Communication Technology\/Engineering (ICT\/ICE) Research, New Building of Covenant University Center for Research Innovation and Development (CUCRID), Covenant University, Ota 112231, Nigeria"},{"name":"Department of Computer Engineering, Atilim University, Incek 06836, Turkey"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tomas","family":"Bla\u017eauskas","sequence":"additional","affiliation":[{"name":"Department of Software Engineering, Kaunas University of Technology, Kaunas 44249, Lithuania"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9990-1084","authenticated-orcid":false,"given":"Robertas","family":"Dama\u0161evi\u010dius","sequence":"additional","affiliation":[{"name":"Department of Software Engineering, Kaunas University of Technology, Kaunas 44249, Lithuania"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"1968","published-online":{"date-parts":[[2018,5,17]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"1060","DOI":"10.1109\/PROC.1980.11805","article-title":"Programs, Life Cycles, and Laws of Software Evolution","volume":"68","author":"Lehman","year":"1980","journal-title":"Proc. IEEE"},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Cesar Brandao Gomes da Silva, A., de Figueiredo Carneiro, G., Brito e Abreu, F., and Pessoa Monteiro, M. (2017). Frequent Releases in Open Source Software: A Systematic Review. Information, 8.","DOI":"10.3390\/info8030109"},{"key":"ref_3","unstructured":"Parikh, G. (1982). The Guide to Software Maintenance, Winthrop."},{"key":"ref_4","doi-asserted-by":"crossref","first-page":"713","DOI":"10.1109\/TSE.1986.6312969","article-title":"A survey of software design techniques","volume":"SE-12","author":"Yau","year":"1986","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_5","unstructured":"International Organization for Standardization (ISO) (1986). Quality\u2014Vocabulary, International Organization for Standardization (ISO). ISO 8402."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"179","DOI":"10.1002\/smr.521","article-title":"Code bad smells: A review of current knowledge","volume":"23","author":"Zhang","year":"2011","journal-title":"J. Softw. Maint. Evolut. Res. Prac."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Tufano, M., Palomba, F., Bavota, G., Oliveto, R., Di Penta, M., De Lucia, A., and Poshyvanyk, D. (2015, January 16\u201324). When and why your code starts to smell bad. Proceedings of the 37th International Conference on Software Engineering-Volume 1, Florence, Italy.","DOI":"10.1109\/ICSE.2015.59"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Rani, A., and Chhabra, J.K. (2017, January 7\u20139). Evolution of code smells over multiple versions of softwares: An empirical investigation. Proceedings of the 2017 2nd International Conference for Convergence in Technology (I2CT), Mumbai, India.","DOI":"10.1109\/I2CT.2017.8226297"},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"52","DOI":"10.1016\/j.jss.2017.12.013","article-title":"Smells in software test code: A survey of knowledge in industry and academia","volume":"138","author":"Garousi","year":"2018","journal-title":"J. Syst. Softw."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Sharma, T., Fragkoulis, M., and Spinellis, D. (2017, January 8\u20139). House of Cards: Code Smells in Open-Source C# Repositories. Proceedings of the 2017 ACM\/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), Toronto, ON, Canada.","DOI":"10.1109\/ESEM.2017.57"},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"8782","DOI":"10.1109\/ACCESS.2018.2791344","article-title":"A Suite of Object Oriented Cognitive Complexity Metrics","volume":"6","author":"Misra","year":"2018","journal-title":"IEEE Access"},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Maneerat, N., and Muenchaisri, P. (2011, January 11\u201313). Bad-smell prediction from software design model using machine learning techniques. Proceedings of the Eighth International Joint Conference on Computer Science and Software Engineering (JCSSE), Nakhon Pathom, Thailand.","DOI":"10.1109\/JCSSE.2011.5930143"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Gupta, A., Suri, B., and Misra, S. (2017, January 3\u20136). A systematic literature review: Code bad smells in Java source code. Proceedings of the International Conference on Computational Science and Its Applications, Trieste, Italy.","DOI":"10.1007\/978-3-319-62404-4_49"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"130","DOI":"10.1016\/j.infsof.2017.09.002","article-title":"Are you smelling it? Investigating how similar developers detect code smells","volume":"93","author":"Hozano","year":"2018","journal-title":"Inf. Softw. Technol."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Papadopoulos, G., Wojtkowski, W., Wojtkowski, G., Wrycza, S., and Zupancic, J. (2009). On The Human, Organizational, and Technical Aspects of Software Development and Analysis. Information Systems Development, Springer.","DOI":"10.1007\/b137171"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Song, K.Y., Chang, I.H., and Pham, H. (2017). A Software Reliability Model with a Weibull Fault Detection Rate Function Subject to Operating Environments. Appl. Sci., 7.","DOI":"10.20944\/preprints201708.0066.v1"},{"key":"ref_17","unstructured":"Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D. (1999). Refactoring: Improving the Design of Existing Code, Addison-Wesley."},{"key":"ref_18","first-page":"395","article-title":"Subjective evaluation of software evolvability using code smells: An empirical study","volume":"11","author":"Lassenius","year":"2006","journal-title":"Empir. Softw. Eng."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"1063","DOI":"10.1109\/TSE.2017.2653105","article-title":"When and why your code starts to smell bad (and whether the smells go away)","volume":"43","author":"Tufano","year":"2017","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1007\/s11334-013-0205-z","article-title":"Investigating the evolution of code smells in object-oriented systems","volume":"10","author":"Chatzigeorgiou","year":"2014","journal-title":"Innov. Syst. Softw. Eng."},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"Zhang, M., Baddoo, N., Wernick, P., and Hall, T. (2008, January 15\u201316). Improving the precision of fowler\u2019s definitions of bad smells. Proceedings of the 32nd Annual IEEE Software Engineering Workshop, SEW\u201908, Kassandra, Greece.","DOI":"10.1109\/SEW.2008.26"},{"key":"ref_22","unstructured":"Van Emden, E., and Moonen, L. (2002, January 29). Java quality assurance by detecting code smells. Proceedings of the Ninth Working Conference on Reverse Engineering, Richmond, VA, USA."},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"345","DOI":"10.1007\/s00165-009-0115-x","article-title":"From a domain analysis to the specification and detection of code and design smells","volume":"22","author":"Moha","year":"2010","journal-title":"Form. Asp. Computing"},{"key":"ref_24","unstructured":"Fiadeiro, J.L., and Inverardi, P. (2008). A domain analysis to specify design defects and generate detection algorithms. Fundamental Approaches to Software Engineering, Springer."},{"key":"ref_25","doi-asserted-by":"crossref","unstructured":"Fontana, F.A., Mariani, E., Morniroli, A., Sormani, R., and Tonello, A. (2011, January 21\u201325). An experience report on using code smells detection tools. Proceedings of the 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops, Berlin, Germany.","DOI":"10.1109\/ICSTW.2011.12"},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"1143","DOI":"10.1007\/s10664-015-9378-4","article-title":"Comparing and experimenting machine learning techniques for code smell detection","volume":"21","author":"Fontana","year":"2016","journal-title":"Empir. Softw. Eng."},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Dexun, J., Peijun, M., Xiaohong, S., and Tiantian, W. (2012, January 8\u201310). Detecting bad smells with weight based distance metrics theory. Proceedings of the 2012 Second International Conference on Instrumentation, Measurement, Computer, Communication and Control, Harbin, China.","DOI":"10.1109\/IMCCC.2012.74"},{"key":"ref_28","doi-asserted-by":"crossref","first-page":"220","DOI":"10.1109\/TSE.2011.9","article-title":"Schedule of bad smell detection and resolution: A new way to save effort","volume":"38","author":"Liu","year":"2012","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Palomba, F., Bavota, G., di Penta, M., Oliveto, R., de Lucia, A., and Poshyvanyk, D. (2013, January 11\u201315). Detecting bad smells in source code using change history information. Proceedings of the 2013 28th IEEE\/ACM International Conference on Automated Software Engineering (ASE), Silicon Valley, CA, USA.","DOI":"10.1109\/ASE.2013.6693086"},{"key":"ref_30","doi-asserted-by":"crossref","unstructured":"Hassaine, S., Khomh, F., Gu\u00e9h\u00e9neuc, Y.-G., and Hamel, S. (October, January 29). IDS: An immune-inspired approach for the detection of software design smells. Proceedings of the 2010 Seventh International Conference on the Quality of Information and Communications Technology, Porto, Portugal.","DOI":"10.1109\/QUATIC.2010.61"},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"545","DOI":"10.1007\/s10115-013-0721-z","article-title":"Detecting software design defects using relational association rule mining","volume":"42","author":"Czibula","year":"2015","journal-title":"Knowl. Inf. Syst."},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"de Lara, J., and Zisman, A. (2012). A new design defects classification: Marrying detection and correction. Fundamental Approaches to Software Engineering, Springer.","DOI":"10.1007\/978-3-642-28872-2"},{"key":"ref_33","doi-asserted-by":"crossref","unstructured":"Ruhe, G., and Zhang, Y. (2013). Competitive coevolutionary code-smells detection. Search Based Software Engineering, Springer.","DOI":"10.1007\/978-3-642-39742-4"},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"323","DOI":"10.1007\/s11219-014-9233-7","article-title":"Prioritizing code-smells correction tasks using chemical reaction optimization","volume":"23","author":"Ouni","year":"2015","journal-title":"Softw. Q. J."},{"key":"ref_35","doi-asserted-by":"crossref","first-page":"551","DOI":"10.1007\/s11219-012-9187-6","article-title":"What you like in design use to correct bad-smells","volume":"21","author":"Kessentini","year":"2013","journal-title":"Softw. Q. J."},{"key":"ref_36","doi-asserted-by":"crossref","unstructured":"Giannakopoulou, D., and Orejas, F. (2011). Search-based design defects detection by example. Fundamental Approaches to Software Engineering, Springer.","DOI":"10.1007\/978-3-642-19811-3"},{"key":"ref_37","doi-asserted-by":"crossref","first-page":"841","DOI":"10.1109\/TSE.2014.2331057","article-title":"A cooperative parallel search-based software engineering approach for code-smells detection","volume":"40","author":"Kessentini","year":"2014","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_38","doi-asserted-by":"crossref","first-page":"2639","DOI":"10.1016\/j.jss.2013.05.007","article-title":"Code smells as system-level indicators of maintainability: An empirical study","volume":"86","author":"Yamashita","year":"2013","journal-title":"J. Syst. Softw."},{"key":"ref_39","doi-asserted-by":"crossref","first-page":"2223","DOI":"10.1016\/j.infsof.2013.08.002","article-title":"To what extent can maintenance problems be predicted by code smell detection?\u2013An empirical study","volume":"55","author":"Yamashita","year":"2013","journal-title":"Inf. Softw. Technol."},{"key":"ref_40","doi-asserted-by":"crossref","unstructured":"Yamashita, A., and Moonen, L. (2013, January 18\u201326). Exploring the impact of inter-smell relations on software maintainability: An empirical study. Proceedings of the 2013 International Conference on Software Engineering, San Francisco, CA, USA.","DOI":"10.1109\/ICSE.2013.6606614"},{"key":"ref_41","doi-asserted-by":"crossref","first-page":"1111","DOI":"10.1007\/s10664-013-9250-3","article-title":"Assessing the capability of code smells to explain maintenance problems: an empirical study combining quantitative and qualitative data","volume":"19","author":"Yamashita","year":"2014","journal-title":"Empir. Softw. Eng."},{"key":"ref_42","doi-asserted-by":"crossref","unstructured":"Khomh, F., Di Penta, M., and Gueheneuc, Y.G. (2009, January 13\u201316). An exploratory study of the impact of code smells on software change-proneness. Proceedings of the 16th Working Conference on Reverse Engineering, WCRE\u201909, Lille, France.","DOI":"10.1109\/WCRE.2009.28"},{"key":"ref_43","doi-asserted-by":"crossref","first-page":"27","DOI":"10.1007\/978-981-10-4600-1_3","article-title":"A survey on code clone, its behavior and applications","volume":"Volume 4","author":"Gupta","year":"2016","journal-title":"Networking Communication and Data Knowledge Engineering"},{"key":"ref_44","doi-asserted-by":"crossref","unstructured":"Holschuh, T., Pauser, M., Herzig, K., Zimmermann, T., Premraj, R., and Zeller, A. (2009, January 16\u201324). Predicting defects in sap java code: An experience report. Proceedings of the 31st International Conference on Software Engineering, ICSE-Companion, Vancouver, BC, Canada.","DOI":"10.1109\/ICSE-COMPANION.2009.5070975"},{"key":"ref_45","doi-asserted-by":"crossref","unstructured":"Taba, S.E.S., Khomh, F., Zou, Y., Hassan, A.E., and Nagappan, M. (2013, January 22\u201328). Predicting Bugs Using Antipatterns. Proceedings of the 2013 IEEE International Conference on Software Maintenance (ICSM \u201913), Eindhoven, The Netherlands.","DOI":"10.1109\/ICSM.2013.38"},{"key":"ref_46","doi-asserted-by":"crossref","first-page":"1529","DOI":"10.1142\/S0218194017400095","article-title":"The Relationship Between Code Smells and Traceable Patterns\u2014Are They Measuring the Same Thing?","volume":"27","author":"Codabux","year":"2007","journal-title":"Int. J. Soft. Eng. Knowl. Eng."},{"key":"ref_47","doi-asserted-by":"crossref","first-page":"150","DOI":"10.1016\/j.jss.2015.04.083","article-title":"A comparison analysis of environmental factors affecting software reliability","volume":"109","author":"Zhu","year":"2005","journal-title":"J. Syst. Softw."},{"key":"ref_48","unstructured":"and Chhabra, J.K. (2017, January 18\u201320). Robustness in search-based software remodularization. Proceedings of the 2017 International Conference on Infocom Technologies and Unmanned Systems (Trends and Future Directions) (ICTUS), Dubai, UAE."},{"key":"ref_49","first-page":"211","article-title":"Empirical analysis of search based algorithms to identify change prone classes of open source software","volume":"47","author":"Bansal","year":"2017","journal-title":"Compu. Lang. Syst. Struct."},{"key":"ref_50","doi-asserted-by":"crossref","unstructured":"Kaur, K., and Kaur, P. (2017, January 13\u201316). Evaluation of sampling techniques in software fault prediction using metrics and code smells. Proceedings of the 2017 International Conference on Advances in Computing, Communications and Informatics (ICACCI), Udupi, India.","DOI":"10.1109\/ICACCI.2017.8126033"},{"key":"ref_51","doi-asserted-by":"crossref","unstructured":"Hassan, A.E. (2009, January 16\u201324). Predicting faults using the complexity of code changes. Proceedings of the 31st International Conference on Software Engineering, Washington, WA, USA.","DOI":"10.1109\/ICSE.2009.5070510"},{"key":"ref_52","doi-asserted-by":"crossref","unstructured":"Singh, V.B., and Chaturvedi, K.K. (2012, January 27\u201329). Entropy based bug prediction using support vector regression. Proceedings of the 12th International Conference on Intelligent Systems Design and Applications (ISDA), Kochi, India.","DOI":"10.1109\/ISDA.2012.6416630"},{"key":"ref_53","unstructured":"Chaturvedi, K.K., Kapur, P.K., Anand, S., and Singh, V.B. (2012, January 23\u201325). Predicting software change complexity using entropy based measures. Proceedings of the 6th International Conference on Quality, Reliability, Infocomm Technology and Industrial Technology Management (ICQRITITM 2012), Delhi, India."},{"key":"ref_54","doi-asserted-by":"crossref","first-page":"379","DOI":"10.1002\/j.1538-7305.1948.tb01338.x","article-title":"A mathematical theory of communication","volume":"27","author":"Shannon","year":"1948","journal-title":"Bell Syst. Tech. J."},{"key":"ref_55","unstructured":"R\u00e9nyi, A. (1961). On measures of entropy and information. Proceedings of the Fourth Berkeley Symposium on Mathematical Statistics and Probability, Volume 1: Contributions to the Theory of Statistics, The Regents of the University of California."},{"key":"ref_56","doi-asserted-by":"crossref","first-page":"479","DOI":"10.1007\/BF01016429","article-title":"Possible generalization of Boltzmann-Gibbs statistics","volume":"52","author":"Tsallis","year":"1988","journal-title":"J. Stat. Phys."},{"key":"ref_57","doi-asserted-by":"crossref","first-page":"145","DOI":"10.1109\/18.61115","article-title":"Divergence measures based on the Shannon entropy","volume":"37","author":"Lin","year":"1991","journal-title":"IEEE Trans. Inf. Theory"},{"key":"ref_58","doi-asserted-by":"crossref","first-page":"713","DOI":"10.1109\/18.119732","article-title":"Entropy-based algorithms for best basis selection","volume":"38","author":"Coifman","year":"1992","journal-title":"IEEE Trans. Inf. Theory"},{"key":"ref_59","doi-asserted-by":"crossref","first-page":"2340","DOI":"10.1093\/clinchem\/44.11.2340","article-title":"Validity of linear regression in method comparison studies: Is it limited by the statistical model or the quality of the analytical input data?","volume":"44","author":"Stockl","year":"1998","journal-title":"J. Clin. Chem."},{"key":"ref_60","doi-asserted-by":"crossref","first-page":"451","DOI":"10.1186\/cc2401","article-title":"Statistics Review 7: Correlation and regression","volume":"7","author":"Bewick","year":"2003","journal-title":"J. Crit. Care"},{"key":"ref_61","unstructured":"Feldt, R., and Magazinius, A. (2010, January 1\u20133). Validity Threats in Empirical Software Engineering Research-An Initial Survey. Proceedings of the 22nd International Conference on Software Engineering & Knowledge Engineering (SEKE\u20192010), California, CA, USA."}],"container-title":["Entropy"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1099-4300\/20\/5\/372\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T15:04:41Z","timestamp":1760195081000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1099-4300\/20\/5\/372"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,5,17]]},"references-count":61,"journal-issue":{"issue":"5","published-online":{"date-parts":[[2018,5]]}},"alternative-id":["e20050372"],"URL":"https:\/\/doi.org\/10.3390\/e20050372","relation":{},"ISSN":["1099-4300"],"issn-type":[{"value":"1099-4300","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,5,17]]}}}