当前位置: X-MOL 学术Int. J. Softw. Eng. Knowl. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Identifying the Optimal Refactoring Dependencies Using Heuristic Search Algorithms to Maximize Maintainability
International Journal of Software Engineering and Knowledge Engineering ( IF 0.6 ) Pub Date : 2021-06-21 , DOI: 10.1142/s0218194021500248
Anuradha Chug 1 , Sandhya Tarwani 1
Affiliation  

Bad smells represent imperfection in the design of the software system and trigger the urge to refactor the source code. The quality of object-oriented software has always been a major concern for the developer team and refactoring techniques help them to focus on this aspect by transforming the code in a way such that the behavior of the software can be preserved. Rigorous research has been done in this field to improve the quality of the software using various techniques. But, one of the issues still remains unsettled, i.e. the overhead effort to refactor the code in order to yield the maximum maintainability value. In this paper, a quantitative evaluation method has been proposed to improve the maintainability value by identifying the most optimum refactoring dependencies in advance with the help of various meta-heuristic algorithms, including A*, AO*, Hill-Climbing and Greedy approaches. A comparison has been done between the maintainability values of the software used, before and after applying the proposed methodology. The results of this study show that the Greedy algorithm is the most promising algorithm amongst all the algorithms in determining the most optimum refactoring sequence resulting in 18.56% and 9.90% improvements in the maintainability values of jTDS and ArtOfIllusion projects, respectively. Further, this study would be beneficial for the software maintenance team as refactoring sequences will be available beforehand, thereby helping the team in maintaining the software with much ease to enhance the maintainability of the software. The proposed methodology will help the maintenance team to focus on a limited portion of the software due to prioritization of the classes, in turn helping them in completing their work within the budget and time constraints.

中文翻译:

使用启发式搜索算法确定最佳重构依赖关系以最大限度地提高可维护性

难闻的气味代表软件系统设计的不完美,并引发重构源代码的冲动。面向对象软件的质量一直是开发人员团队关注的主要问题,重构技术通过以可以保留软件行为的方式转换代码来帮助他们专注于这一方面。在这一领域进行了严格的研究,以使用各种技术提高软件的质量。但是,其中一个问题仍未解决,即重构代码以产生最大可维护性价值的开销工作。在本文中,提出了一种定量评估方法,通过借助各种元启发式算法,包括 A* , AO *,爬山和贪婪方法。在应用所提出的方法之前和之后,对所用软件的可维护性值进行了比较。这项研究的结果表明,Greedy 算法是所有算法中最有希望确定最佳重构顺序的算法,导致 jTDS 和 ArtOfIllusion 项目的可维护性值分别提高了 18.56% 和 9.90%。此外,这项研究将有利于软件维护团队,因为重构序列将提前可用,从而帮助团队更轻松地维护软件,从而增强软件的可维护性。由于类的优先级,拟议的方法将帮助维护团队专注于软件的有限部分,
更新日期:2021-06-21
down
wechat
bug