论文部分内容阅读
软件缺陷预测对软件测试开发有着非常重要的指导意义。在本文的研究中,我们首先提出了一种新的软件缺陷预测框架,该框架融合测试和预测步骤,使用人工免疫网络算法(artificial immune network,aiNet)来提取和简化软件开发过程中获得的整个软件度量数据集的信息,然后通过层次聚类来生成多中心点,通过多中心点进行预测。同时该预测框架不断获取测试结果,并通过反馈学习动态调整框架内各个免疫网络以不断提高预测精度。由于高缺陷倾向模块差异相对较大,分布相对分散,多预测中心点可以更好的代表整个数据集,该预测框架可以获得更高的准确率并及早指导测试过程。其次,由于人工免疫网络算法是模拟生物体内细胞的相互作用,具有固有的并行性且串行算法运行效率较低。本文继续研究在NVIDIA的CUDA编程框架在图形处理单元(Graphic Processing Unit,GPU)上并行优化人工免疫网络算法。考虑到GPU硬件结构,本文详细设计了该算法在GPU上的数据结构,内存分配策略和算法流程等。具体而言,为了充分发挥该算法潜在的并行性。我们为网络中的每个细胞分配线程,并行执行该算法中计算亲和度计算、网络压缩,同时融合随机数生成算法和爬山算法并行选择前N个亲和度较好的细胞等。通过改进,aiNet的效率获得了有效的提升。类似GPU,英特尔的众核(Many Integrated Core,MIC)架构也将成为一种在高性能计算领域非常重要的运行环境。本文继续研究了众核体系架构,并在MIC上并行和优化了基于网格的分子动力学模拟(Molecular dynamics,MD)应用。为了充分发挥众核的性能和提升应用效率,我们使用OpenMP框架设计了。MD的多线程并行结构,并通过使用如数组CC++语言扩展,Intrinsic函数等各种方法来实现向量化以获得更好的效率。由于集成多核心是CPU和高性能计算领域的一种发展趋势,使用MIC并行优化程序也逐渐成为高性能计算领域一种新的选择,本文的方法可以被类似的应用所借鉴。