论文部分内容阅读
软件是否严格按照设计要求实现,是软件质量评估的重要标准,是软件测试的一项重要工作。人工遍历的方法分析软件设计与实现的一致性是复杂费力的,并且需要测试人员具备丰富的编程经验和较强的算法分析能力。随着软件维护成本的不断增加,软件迭代速度不断加快,自动化的完成软件设计与实现的一致性验证工作变得越来越重要。快速准确判定设计与实现的一致性,能够有效的提高工作效率。 论文提出的基于函数调用路径的软件设计与实现一致性验证方法,以函数调用路径为基础,建立设计功能簇模型和实现功能簇模型,然后对比模型中的功能点,实现功能级一致性验证。功能簇模型依据函数的调用关系建立,功能簇模型对比依赖函数功能提取算法获取函数功能。 论文提出的基于控制流图的函数调用路径提取方法,首先通过编译器获取函数的预处理信息,静态分析后得到带有函数调用信息的控制流图。然后设计控制流图到函数调用图的转换算法,实现控制流图到函数调用图的转换,从而得到函数调用关系。最后使用可达路径的方法分析函数调用图,进而得到函数调用路径。 论文提出的基于函数特征的函数功能提取方法,首先将函数的特征分为数字特征和结构特征,选择相似度计算方法计算数字特征和结构特征的相似度。然后提取已知函数功能及其实现方式的函数模板集的函数特征,形成特征模板集。最后计算被测函数特征属性与模板集中的函数特征的相似度,得到被测函数的功能和实现方式,为实现函数功能及其实现方式的一致性验证提供基础。 针对函数调用路径、函数功能提取、设计与实现一致性验证,分别设计了实验。实验结果表明,算法能够准确获得软件结构以及函数功能,能够对软件设计与实现的一致性做出有效判定,为软件设计与实现一致性验证提出一种新思路。