Software frameworks are the crux of the numerous businesses in giant technological industries. These software systems are growing in size, becoming more perplexing day by day. Besides, they are subject to frequent alterations that implement new features or resolve bugs. Due to time constraints, engineers do not have enough resources to plan and implement perfect solutions, which results in the occurrence of code smells in the software system.;With the increase of the size of software systems, it is strenuous to detect the code smells in the software and refactor the code manually. This thesis presents a framework that detects seven code smells (Switch case, Long parameter list, Middle man, Long method, Temporary fields, Message chains, and Data class) and provides refactoring suggestions for the code that contains these smells. These smells are detected with the help of metrics and software visualizations generated by an abstract syntax tree. |