Today we are experiencing rapid enhancements in software systems and their development. The software industry's demand for tools and techniques for software development, especially automatic and less time-consuming, is increasing daily. Software refactoring and code smell detection are now expanded from code-level changes to the architecture, model, and requirements restructuring. We are moving from an object-oriented paradigm towards cloud computing, web development and mobile application development and so much more. Therefore, code smell and refactoring techniques are talk of the town in various research communities in their objectives. In this paper we will study the existing tools and techniques, research progress by doing a systematic literature review in the field of code smell detection and software refactoring’s. We will also classify the existing research techniques, identify the trends in code smell detection and refactoring and try to highlight the gaps in the area for researchers.