发明名称 基于模块分解技术的软件缺陷检测系统的复杂性分析方法
摘要 本发明公开一种基于模块分解技术的软件缺陷检测系统(DTS)的复杂性分析方法,包括:A,根据所述DTS缺陷检测原理,将该分析方法的流程包括由前端输入预处理模块完成的前端输入预处理步骤、由预分析模块完成预分析的步骤、由正式分析模块完成正式分析的步骤;B,对所述的前端输入预处理模块、预分析模块和正式分析模块的内部所有分析单元,按其调用顺序及依赖关系依次分析其复杂度,得到每个分析单元复杂性分布的性质和规律;C,根据步骤B的分析结果,统计得出整个DTS系统的复杂性分布情况。采用本发明,通过对每个模块内部的分析单元的复杂性分析,统计得出DTS的复杂性分布情况,克服了现有复杂性分析方法不够系统全面等的缺点。
申请公布号 CN102521126B 申请公布日期 2015.11.25
申请号 CN201110398217.9 申请日期 2011.12.05
申请人 北京邮电大学 发明人 宫云战;赵云山;金大海;肖庆
分类号 G06F11/36(2006.01)I 主分类号 G06F11/36(2006.01)I
代理机构 北京汇泽知识产权代理有限公司 11228 代理人 刘淑敏
主权项 一种基于模块分解技术的软件缺陷检测系统的复杂性分析方法,其特征在于,该分析方法包括:A、根据所述缺陷检测系统DTS缺陷检测原理,将该分析方法的流程包括由前端输入预处理模块完成的前端输入预处理步骤、由预分析模块完成预分析的步骤、由正式分析模块完成正式分析的步骤;B、对所述的前端输入预处理模块、预分析模块和正式分析模块的内部所有分析单元,按其调用顺序及依赖关系依次分析其复杂度,得到每个分析单元复杂性分布的性质和规律;C、根据步骤B的分析结果,统计得出整个DTS系统的复杂性分布情况;所述得出整个DTS系统的复杂性分布情况的过程,包括对前端预输入处理模块的分析单元进行复杂度分析,具体如下:C1、将待测试的程序源文件载入缺陷状态机单元,根据预先配置的待扫描缺陷状态机类型,读入对应的状态机描述XML文件;复杂度取决于待扫描缺陷状态机种类数Num(fsm);C2、收集待进行缺陷检测的源文件,如果以工程为单位进行检测,则根据工程配置文件搜索待分析源文件;否则,直接搜索待扫描目录,收集所有待检测源文件;复杂度取决于待分析源文件数量Num(srcFiles);C3、根据待测源文件的类型执行程序转换,具体为:通过程序转换单元,根据待检测源文件类型,调用相应的编译器进行预处理,得到预处理后的中间文件,作为后续分析的输入;如果是JAVA语言,需要调用JVM将源文件(.java)编译为字节码文件(.class);其复杂度取决于JVM的编译器效率;如果是C或CPP语言,需要调用相应的编译器(gcc, cl)将源文件(.c, .cpp)预处理为中间文件(.i);其复杂度取决于编译器的效率。
地址 100876 北京市海淀区西土城路10号