Abstract
The problem of developing software quality is developer’s experience which has different style and does not care about coding with principle that causes error or even bad smell. To reduce the risk of causing bad smell, the developer should concern with a good design principle and coding well. In addition, knowing the qualification and the characteristic of code is also important to promptly support verifying, recovering bad smell and improving them to be a good code. This research presents an approach for source code classification using software metrics and fuzzy logic to improve code quality with refactoring techniques. Our approach composed of 3 main sections; Source code definition with metrics and evaluation to classify source code type, Source code classification with fuzzy logic and Source code improvement with refactoring. The result of our approach is able to classify source code in type correctly and improve bad smell, ambiguous code to be a clean code.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Kay, A.C.: The Early History of Smalltalk, pp. 69–95 (1993)
Boehm, B.W., Basili, V.R.: Software Defect Reduction Top 10 List. IEEE Computer 34(1), 135–137 (2001)
Meesad, P.: Fuzzy Logic. Fuzzy systems and Neural Networks Lecture. Faculty of Information Technology, King Mongkut’s University of Technology North, Bangkok
Stroggylos, K., Spinellis, D.: Refactoring-Does It Improve Software Quality? In: Stroggylos, K., Spinellis, D. (eds.) 5th International Workshop on Software Quality, vol. 10, IEEE Computer Society, Los Alamitos (2007)
Zadeh, L.A.: Fuzzy Sets. Information and Control 8, 338–353 (1965)
Zadeh, L.A.: Is There a Need for Fuzzy Logic? Fuzzy Information Processing Society, Annual Meeting of the North American 178(13), 2751–2779 (2008)
Zadeh, L.A.: Toward a Perception-Based Theory of Probabilistic Reasoning with imprecise probabilities. Special Issue on Imprecise Probabilities, Journal of Statistical Planning and Inference 105, 233–264 (2002)
Zadeh, L.A.: Toward a theory of fuzzy information granulation and its centrality in human reasoning and fuzzy logic. Fuzzy Sets Systems 90(2), 111–127 (1997)
Zadeh, L.A., Klir, G.J., Bo, Y.: Fuzzy Sets, Fuzzy Logic, and Fuzzy Systems. In: Advances in Fuzzy Systems - Applications and Theory, vol. 6, World Scientific Pub Co. Inc, Singapore (1996)
Fowler, M.: Refactoring: Improving the Design of Existing Code. XP/Agile Universe (2002)
Halstead, M.H.: Elements of Software Science. In: Operating and programming systems series, Elsevier Science Inc., New York (1977)
Mäntylä, M., Vanhanen, J., Lassenius, C.: A Taxonomy and an Initial Empirical Study of Bad Smells in Code. In: International Conference on Software Maintenance, pp. 381–384 (2003)
Fenton, N.E.: Software Metrics, A Rigorous Approach. Chapman & Hall, London (1991)
Drucker, P.: Innovation and Entrepreneurship. Collins (1985)
Crosby, P.: Quality is Free. McGraw-Hill, New York (1979)
Martin, R.C.: Clean Code. A Handbook of Agile Software Craftsmanship. Prentice-Hall, Englewood Cliffs (2008)
Chidamber, S.R., Kemerer, C.F.: A Metrics Suite for Object Oriented Design. IEEE Trans. Software Eng. 20(6), 476–493 (1994)
Chidamber, S.R., Kemerer, C.F.: Towards a Metrics Suite for Object Oriented Design. In: OOPSLA, pp. 197–211 (1991)
Feldman, S.I., Kay, A.C.: A conversation with Alan Kay. ACM Queue 2(9), 20–30 (2004)
McCabe, T.J.: A Complexity Measure. IEEE Trans. Software Eng. SE-2(4), 308–320 (1976)
Ruhroth, T., Voigt, H., Wertheim, H.: Measure, Diagnose, Refactor: A Formal Quality Cycle for Software Models. In: 35th EUROMICRO-SEAA, pp. 360–367 (2009)
DeMarco, T.: Controlling Software Projects: Management, Measurement, and Estimates. Prentice-Hall, Englewood Cliffs (1986)
Mens, T., Tourwé, T.: A Survey of Software Refactoring. IEEE Trans. Software Eng. 30(2), 126–139 (2004)
Alan Curtis Kay, http://en.wikiquote.org/wiki/Alan_Kay
Code smell, http://en.wikipedia.org/wiki/Code_smell
Fuzzy Logic, http://en.wikipedia.org/wiki/Fuzzy_logic
Software Quality, http://en.wikipedia.org/wiki/Software_quality
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lerthathairat, P., Prompoon, N. (2011). An Approach for Source Code Classification Using Software Metrics and Fuzzy Logic to Improve Code Quality with Refactoring Techniques. In: Zain, J.M., Wan Mohd, W.M.b., El-Qawasmeh, E. (eds) Software Engineering and Computer Systems. ICSECS 2011. Communications in Computer and Information Science, vol 181. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22203-0_42
Download citation
DOI: https://doi.org/10.1007/978-3-642-22203-0_42
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22202-3
Online ISBN: 978-3-642-22203-0
eBook Packages: Computer ScienceComputer Science (R0)