TY - GEN
T1 - The relationship between traceable code patterns and code smells
AU - Codabux, Zadia
AU - Sultana, Kazi Zakia
AU - Williams, Byron J.
PY - 2017
Y1 - 2017
N2 - Context: It is important to maintain software quality as a software system evolves. Managing code smells in source code contributes towards quality software. While metrics have been used to pinpoint code smells in source code, we present an empirical study on the correlation of code smells with class-level (micro pattern) and methodlevel (nano-pattern) traceable patterns of code. Objective: This study explores the relationship between code smells and class-level and method-level structural code constructs. Method: We extracted micro patterns at the class level and nano-patterns at the method level from three versions of Apache Tomcat and PersonalBlog and Roller from Standford SecuriBench and compared their distributions in code smell versus non-code smell classes and methods.Result: We found that DataManager, Record and Outline micro patterns are more frequent in classes having code smell compared to non-code smell classes in the applications we analyzed. localReader, localWriter, Switcher, and ArrReader nano-patterns are more frequent in code smell methods compared to the non-code smell methods. Conclusion: We conclude that code smells are correlated with both micro and nano-patterns.
AB - Context: It is important to maintain software quality as a software system evolves. Managing code smells in source code contributes towards quality software. While metrics have been used to pinpoint code smells in source code, we present an empirical study on the correlation of code smells with class-level (micro pattern) and methodlevel (nano-pattern) traceable patterns of code. Objective: This study explores the relationship between code smells and class-level and method-level structural code constructs. Method: We extracted micro patterns at the class level and nano-patterns at the method level from three versions of Apache Tomcat and PersonalBlog and Roller from Standford SecuriBench and compared their distributions in code smell versus non-code smell classes and methods.Result: We found that DataManager, Record and Outline micro patterns are more frequent in classes having code smell compared to non-code smell classes in the applications we analyzed. localReader, localWriter, Switcher, and ArrReader nano-patterns are more frequent in code smell methods compared to the non-code smell methods. Conclusion: We conclude that code smells are correlated with both micro and nano-patterns.
UR - http://www.scopus.com/inward/record.url?scp=85029495730&partnerID=8YFLogxK
U2 - 10.18293/SEKE2017-121
DO - 10.18293/SEKE2017-121
M3 - Conference contribution
AN - SCOPUS:85029495730
T3 - Proceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE
SP - 444
EP - 449
BT - Proceedings - SEKE 2017
PB - Knowledge Systems Institute Graduate School
T2 - 29th International Conference on Software Engineering and Knowledge Engineering, SEKE 2017
Y2 - 5 July 2017 through 7 July 2017
ER -