Why SENSA automatic readability measuring and namesmell refactoring tool?
Software maintenance accounts for a large portion of the software life cycle costs. Therefore, in software maintenance, understanding the source code of the most time-consuming and costly part of maintenance Is software. The most important factor that affects the understanding of the source code is the readability of the source code. In the discussion of source code readability, there are many code odors called naming odors. These types of odors are related to the naming of identifiers in the source code, such as class, method, and variable. Approximately 70% of the source code of a software system consists of identifiers. Therefore, the letters that are selected as identifiers are very important for the readability of the software source code and therefore their comprehensibility. In the discussion of naming these identifiers, there are a series of rules and principles that developers must follow these rules and principles, and if these rules are not observed, the name odor problem arises that these odors have a direct impact on the readability of the source code and Maintains software and software quality. Therefore, anything done to prevent the creation of these odors will be useful in reducing the cost and time to maintain the software source code, and therefore is an important issue in the development and life cycle of the software and is of great importance in the software industry. In this area, most of the work that has been done has been done with machine learning methods. Since these methods require a lot of hardware resources and also setting their parameters is a difficult task and requires a lot of testing. Therefore, we decided to offer a method that does not require a lot of resources and is also easy to set up and, in addition to the above, is more accurate than the previous methods.
All proposed methods and innovations:
- Automatic detection of method name smells
- Automatic detection of class name smells
- Select the appropriate name by changing the current name or from the name of similar entities
- Rename actions on the code
- Assessing the readability of the code before and after reconstruction
- Naming smells detection
- Name suggestion
- Rename refactoring
- Readability measurement
To appear.