论文摘要
随着软件系统规模的剧增,软件开发变得越来越复杂。历史上,大型软件失败的事件屡见不鲜。此类的事件频频发生,如何提高整个开发软件的质量成为新的研究焦点。作为软件开发中的设计思想和指导,软件体系结构对整个软件的开发起到了不可替代的作用。研究表明,可以通过测试技术和形式化的方法提高软件的质量。而软件体系结构级的测试可以在整个开发周期的早期对软件进行设计结构上的检测,这是传统测试所无法比拟的。目前对软件体系结构测试的研究才刚刚兴起,所以要找到有效的、适用于软件体系结构测试的技术,促使软件体系结构在软件开发中成功应用。本文主要是对C2风格的软件体系结构中最短路径搜索进行研究,设计并实现变长度染色体的遗传算法。在实验中,用二进制编码表示问题的可行解,并采用改进后的适应度比例选择法,复制适应性强的个体。然后根据提前设定的切断和拼接概率,对随机选中的个体进行操作产生新个体。用切断和拼接操作代替传统遗传算法中的交叉操作。在此过程中施加变异操作,然后对算法求得的种群进行解码得到问题最终的解。通过对比两种算法的实验结果,说明用遗传算法在C2风格体系结构生成测试路径是可行的。最后,对测试路径的覆盖率进行分析,指出下一步的研究计划。本文的目的是设计并实现一套生成C2风格的软件体系结构系统中的测试路径的工具,以便于应用于集成测试阶段。