A Method for Detecting Bad Smells and its Application to Software Engineering Education
Yuki Ito, Atsuo Hazeyama, Yasuhiko Morimoto, Hiroaki Kaminaga, Shoichi Nakamura, Youzou Miyadera
Abstract
Yuki Ito, Atsuo Hazeyama, Yasuhiko Morimoto, Hiroaki Kaminaga, Shoichi Nakamura, Youzou Miyadera
Abstract
In order to extend and maintenance software systems, it is necessary to remove factors behind bad smells from source code through refactoring. However, it is time-consuming process to detect and remove factors behind bad smells manually from large source code. And, learning how to refactor bad smells can be difficult for students because they are not yet software development experts. Therefore, the authors propose a method for detecting bad smells using declarative meta programming that can be applied to software development training. In this manner, software development training is facilitated.
OpenAlex reports 3 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
In order to extend and maintenance software systems, it is necessary to remove factors behind bad smells from source code through refactoring. However, it is time-consuming process to detect and remove factors behind bad smells manually from large source code. And, learning how to refactor bad smells can be difficult for students because they are not yet software development experts. Therefore, the authors propose a method for detecting bad smells using declarative meta programming that can be applied to software development training. In this manner, software development training is facilitated.
Key concepts: Code smell, Code refactoring, Computer science, Software engineering, Software development, Software development process, Software, Process (computing)