软件系统的实体演化耦合分析有助于共同变更预测、软件供应链风险识别、代码漏洞溯源、缺陷预测、架构问题定位等分析活动.两个代码实体之间存在演化耦合(evolutionary coupling)是指在软件修订历史中,这对实体倾向于共同变更(共变).已...软件系统的实体演化耦合分析有助于共同变更预测、软件供应链风险识别、代码漏洞溯源、缺陷预测、架构问题定位等分析活动.两个代码实体之间存在演化耦合(evolutionary coupling)是指在软件修订历史中,这对实体倾向于共同变更(共变).已有的演化耦合分析方法难以准确检测软件维护历史中频繁发生的、有“距离”的共变.为了解决这一问题,提出了基于关联规则挖掘、情节挖掘、潜在语义索引模型相结合的演化耦合分析方法(association rule,MINEPI and LSI based method,AR-MIM),以挖掘有“距离”的共同变更关系.实验收集了58个Python项目、242074条训练数据、330660条ground truth的数据集,与已有的4种baseline方法进行了比较,验证了AR-MIM的效果.结果表明:在预测共同变更候选项场景上,AR-MIM的准确性、召回率、F1分数均优于已有方法.展开更多
事件序列中蕴藏的频繁情节刻画了用户或系统的行为规律.现有的频繁情节挖掘算法在各自支持度定义下具有较好的挖掘效果,但在支持度定义发生变化时却很难甚至无法直接挖掘频繁情节.针对用户多变的支持度定义需求,提出了一种频繁情节挖掘...事件序列中蕴藏的频繁情节刻画了用户或系统的行为规律.现有的频繁情节挖掘算法在各自支持度定义下具有较好的挖掘效果,但在支持度定义发生变化时却很难甚至无法直接挖掘频繁情节.针对用户多变的支持度定义需求,提出了一种频繁情节挖掘算法FEM-DFS(frequent episode mining-depth first search).该算法通过单遍扫描事件序列,以深度优先搜索方式来发现频繁情节,以共享前/后缀树来存储频繁情节,以单调性、前缀单调性或后缀单调性来压缩频繁情节的搜索空间.实验评估证实了所提出算法的有效性.展开更多
文摘软件系统的实体演化耦合分析有助于共同变更预测、软件供应链风险识别、代码漏洞溯源、缺陷预测、架构问题定位等分析活动.两个代码实体之间存在演化耦合(evolutionary coupling)是指在软件修订历史中,这对实体倾向于共同变更(共变).已有的演化耦合分析方法难以准确检测软件维护历史中频繁发生的、有“距离”的共变.为了解决这一问题,提出了基于关联规则挖掘、情节挖掘、潜在语义索引模型相结合的演化耦合分析方法(association rule,MINEPI and LSI based method,AR-MIM),以挖掘有“距离”的共同变更关系.实验收集了58个Python项目、242074条训练数据、330660条ground truth的数据集,与已有的4种baseline方法进行了比较,验证了AR-MIM的效果.结果表明:在预测共同变更候选项场景上,AR-MIM的准确性、召回率、F1分数均优于已有方法.
文摘事件序列中蕴藏的频繁情节刻画了用户或系统的行为规律.现有的频繁情节挖掘算法在各自支持度定义下具有较好的挖掘效果,但在支持度定义发生变化时却很难甚至无法直接挖掘频繁情节.针对用户多变的支持度定义需求,提出了一种频繁情节挖掘算法FEM-DFS(frequent episode mining-depth first search).该算法通过单遍扫描事件序列,以深度优先搜索方式来发现频繁情节,以共享前/后缀树来存储频繁情节,以单调性、前缀单调性或后缀单调性来压缩频繁情节的搜索空间.实验评估证实了所提出算法的有效性.