摘要

并发程序由于其随机性高的特点,容易导致并发缺陷。当并发缺陷出现时,会引起软件数据竞争,难以对软件完成调试。提出基于排序集成的软件并发缺陷动态预测算法。提取并发缺陷特征,通过层次聚类法构建特征簇。将互信息作为特征相关性的衡量标准,经过特征聚类,建立目标特征子集,设定合理阈值选出最具代表性的特征集。将敏感分析和属性权重相结合,确定代表特征的敏感权重,提高预测敏感性。使用多核分类器算法,采集软件运行数据初始样本,将样本分割为缺陷和非缺陷部分。经过boosting的反复训练,减小分类器误差。以boosting训练结果作为预测依据,判断样本是否存在并发缺陷,实现软件并发缺陷的动态预测。仿真结果表明,所提方法的预测结果和实际情况相符,且预测速率不受软件样本数据量多少影响。