...
首页> 外文期刊>International journal of software engineering and knowledge engineering >ABMMRS Eradicator: Improving Accuracy in Recommending Move Methods for Web-based MVC Projects and Libraries Using Method's External Dependencies
【24h】

ABMMRS Eradicator: Improving Accuracy in Recommending Move Methods for Web-based MVC Projects and Libraries Using Method's External Dependencies

机译:ABMMRS Eradicator:使用方法的外部依赖项,提高基于Web的MVC项目和库的移动方法的准确性

获取原文
获取原文并翻译 | 示例
           

摘要

Move Method Refactoring (MMR) is used to place highly coupled methods in appropriate classes for making source code more cohesive. Like other refactoring techniques, it is mandatory that applying MMR will preserve applications' behaviors. However, traditional MMR techniques failed to meet this essential precondition for Action methods in web-based application and API methods in libraries projects. The reason is that applying MMR on these methods changes the behaviors of the projects by raising Application-breaking issues, for instance, failure of browser requests and compilation errors in client projects. To resolve this problem, developers are suggested to manually check Action and API methods while applying MMR. However, manually inspecting thousands of lines of code for these issues is a time-consuming and hectic task. In this paper, an advanced MMR technique is proposed which automatically identifies Application-breaking MMR suggestions. This technique first takes the initial move method suggestions from the existing prominent MMR techniques e.g. JDeodorant. For each of the suggestions, it parses the source code and construct Abstract Syntax Tree to examine two types of usage. One is whether a suggestion has not been used in any unit test and Regular Class, and another is whether the suggestion has been used in unit test classes only. If any MMR suggestion is found having one of these two types of usage or both, the respective suggestion is marked as Application-breaking. In order to evaluate the proposed technique, several experiments have been conducted on open source projects. The experimental results show that the proposed technique achieved 96.4% Precision, 90% Recall and 93.1% F-score in detecting Application-breaking MMR suggestions, because of considering external dependencies of the MMR suggestions.
机译:移动方法重构(MMR)用于将高耦合的方法放置在适当的类中,以使源代码更具凝聚力。与其他重构技术一样,应用MMR的强制性将保留应用程序的行为。但是,传统的MMR技术未能满足该基于Web的应用程序和API方法的动作方法的基本前提条件。原因是应用MMR在这些方法上通过提高应用程序破坏问题来改变项目的行为,例如,客户端项目中的浏览器请求和编译错误的失败。要解决此问题,建议在应用MMR时手动检查操作和API方法的开发人员。但是,手动检查这些问题的数千行代码是耗时和忙碌的任务。在本文中,提出了一种先进的MMR技术,它自动识别应用破坏MMR建议。该技术首先从现有的突出MMR技术中提出初始移动方法建议。 Jdeodorant。对于每个建议,它会解析源代码并构建抽象语法树以检查两种类型的使用。一个是是否在任何单元测试和常规类中都没有使用建议,另一个是该建议是否仅用于单位测试类。如果发现任何MMR建议具有这两种类型的使用之一或两者,则相应的建议被标记为施加分类。为了评估所提出的技术,已经在开源项目上进行了几个实验。实验结果表明,由于考虑了MMR建议的外部依赖性,所提出的技术达到了96.4%的精度,90%的召回和93.1%的F分数。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号