A systematic approach for software refactoring based on class and method level for AI application

被引:2
作者
Panigrahi R. [1 ,3 ]
Kuanar S.K. [1 ,3 ]
Kumar L. [2 ]
Padhy N. [1 ,3 ]
机构
[1] School of Engineering and Technology, Department of Computer Science and Engineering (CSE), GIET University, Odisha, Gunupur
[2] Department of Computer Science and Information Systems, BITS-PILANI, Hyderabad Campus, Room #H-134, Jawahar Nagar, Shameerpet Mandal, Hyderabad
[3] School of Engineering and Technology, Department of Computer Science and Engineering (CSE), GIET University, Odisha, Gunupur
关键词
Algorithms; Extract class and subclass; Extract method; Inline method; Move method; Object-oriented metrics; OOM; Refactoring; Refactoring models; Software quality;
D O I
10.1504/IJPT.2021.117461
中图分类号
学科分类号
摘要
Many researchers have investigated the different techniques to detect software code smells, which can be removed by software refactoring. In this paper, the author presents refactoring techniques and their examples and the proposed model for getting the qualitative code after implementing refactoring techniques. The author proposed an algorithm for the extract and move method, and a set of refactoring techniques. This primary goal is to depict refactoring methods and defend retained transition rules among the groups. The author has discussed the state-of-the-art software refactoring techniques, causes of refactoring, and the proposed model. The author has shown a simulation model suggesting transition probability, which allows for making decision software status. The results show that the proposed approach can detect software refactoring accurately with precision and recall values ranging from 88% to 100%. The transformation rules and proposed algorithms and models are suitable and adequate for automated refactoring to improve software quality. Copyright © 2021 Inderscience Enterprises Ltd.
引用
收藏
页码:143 / 174
页数:31
相关论文
共 26 条
[1]  
Al Dallal J., Abdin A., Empirical evaluation of the impact of object-oriented code refactoring on quality attributes: a systematic literature review, IEEE Transactions on Software Engineering, 44, 1, pp. 44-69, (2017)
[2]  
Bavota G., Oliveto R., Gethers M., Poshyvanyk D., De Lucia A., Method book: recommending move method refactorings via relational topic models, IEEE Transactions on Software Engineering, 40, 7, pp. 671-694, (2013)
[3]  
Charalampidou S., Ampatzoglou A., Chatzigeorgiou A., Gkortzis A., Avgeriou P., Identifying extract method refactoring opportunities based on functional relevance, IEEE Transactions on Software Engineering, 43, 10, pp. 954-974, (2016)
[4]  
Chavez A., Ferreira I., Fernandes E., Cedrim D., Garcia A., How does refactoring affect internal quality attributes?: A multi-project study, Proceedings of the 31st Brazilian Symposium on Software Engineering, pp. 74-83, (2017)
[5]  
Choi E., Fujiwara K., Yoshida N., Hayashi S., A Survey of Refactoring Detection Techniques based on Change History Analysis, (2018)
[6]  
Fowler M., Beck K., Brant J., Opdyke W., Roberts D., Refactoring: Improving the Design of Existing Code, (1999)
[7]  
Kaur G., Singh B., Improving the quality of software by refactoring, 2017 International Conference on Intelligent Computing and Control Systems (ICICCS), pp. 185-191, (2017)
[8]  
Keshta I.M., Software refactoring approaches a survey, International Journal of Advanced Computer Science and Applications, 8, 11, pp. 542-547, (2017)
[9]  
Kodhai E., Kanmani S., Method-level code clone modification environment using CloneManager, Modern Trends and Techniques in Computer Science, pp. 529-539, (2014)
[10]  
Kodhai E., Kanmani S., Kamatchi A., Radhika R., Saranya B.V., CloneManager: a tool for detection of type1 and type2 code clones, International Conference on Business Administration and Information Processing, pp. 568-570, (2010)