方法级网络中的加权聚类自动软件重构

0 下载量 123 浏览量 更新于2024-08-28 收藏 2.37MB PDF 举报
本文是一篇研究论文,探讨了在方法级别网络中利用加权聚类实现自动软件重构的方法。标题《Automatic Software Refactoring via Weighted Clustering in Method-level Networks》表明作者关注的是软件工程中的一个重要实践,即通过分析代码中的方法级依赖关系来优化代码结构,以提高代码质量、可维护性和可读性。 描述部分提到,作者以开源系统中的类级依赖网络G2作为输入,目标是通过一种算法合并具有高内聚性的类,形成一个合并后的类集VM,其中包含N_M=100个类。整个过程分为以下几个步骤: 1. 初始化阶段:首先,确定待处理类集合Vi,包括种子类集V_seed(可能作为初步的重构起点)、未选择的类集V_i以及已经选中的类集V_H。这里,V_i的大小由系统的总类数决定。 2. 选择种子节点:在类级网络G2中,选择一个具有高于平均内聚度的类作为初始种子节点CL_seed。内聚度是一个衡量类内部相关性的指标,高内聚度意味着这些类很可能可以合并。 3. 聚类扩展:遍历种子节点CL_seed的所有邻居,将那些与之具有较高关联度且内聚性强的类加入到当前的合并集中。这个过程可能是基于一定的相似度或依赖度计算,例如,如果两个类间的调用频繁且功能紧密,那么它们可能被视作一个潜在的重构单元。 4. 重复迭代:不断从剩余的未选择类集中选择新的种子节点,重复步骤2和3,直到所有的类都被考虑或满足某个停止条件(如达到预设的合并数量或者重构效果达到满意程度)。 5. 输出结果:最终输出的是合并后的类集VM,这些类的重构可能会简化代码结构,减少模块间的耦合,从而提升整体软件的可维护性和性能。 这篇论文的研究价值在于它提供了一种基于方法级网络的自动软件重构策略,有助于软件开发人员更有效地管理复杂代码库,同时减少了人工重构的工作量。由于该方法依赖于网络分析和聚类算法,因此它对于理解软件系统的内在结构及其变化规律具有重要意义。为了引用这篇工作,参考文献信息包括DOI 10.1109/TSE.2017.2679752,发表在《IEEE Transactions on Software Engineering》期刊上,论文编号为18。