基于区间集的Cppcheck数组边界缺陷检测  被引量:5

Detection of array bound overflow by interval set based on Cppcheck

在线阅读下载全文

作  者:张仕金[1] 尚赵伟[1] 

机构地区:[1]重庆大学计算机学院,重庆400030

出  处:《计算机应用》2013年第11期3257-3261,共5页journal of Computer Applications

基  金:国家自然科学重点基金资助项目(91118005);国家自然科学基金资助项目(61173130);重庆市自然科学基金资助项目(CSTC-2010BB2217)

摘  要:针对开源软件Cppcheck误报率和漏报率过高,且不能检测出运行时程序缺陷等问题,基于Cppcheck程序,提出了抽象区间集算法,并将其应用于数组边界缺陷检测。在Cppcheck框架内,通过引入区间集概念,建立每个程序点变量和表达式的整型区间集和数组区间集,并由此定位出程序中的矛盾点,最终检测出程序缺陷。与Cppcheck相比较,所提算法的查准率提高18.5%,漏报率降低22.5%,误报率提高3.5%。实验结果表明,该方法能有效地检测出运行程序缺陷,并提高Cppcheck缺陷检测性能。The false positive rate and the false negative rate are too high for the open source software Cppcheck, and defects cannot be detected during program running. Interval set algorithm was put forward on the basis of Cppcheck program and was used for detecting array bound overflow. Shaping interval set and array interval set were established by introducing the concept of interval set. Each program variables and expressions interval values were constructed under the framework of Cppcheek to detect contradictions to locate defects. The precision rate increased by 18.5%, the false negative rate decreased by 22.5% and the false positive rate increased by 3.5% with the algorithm compared to Cppcheck. The experimental results show that the proposed algorithm can effectively detect the defects of running program and the detection performance gets improved.

关 键 词:Cppcheck 抽象区间集 数组越界 变量 表达式 

分 类 号:TP311.5[自动化与计算机技术—计算机软件与理论] TP311.56[自动化与计算机技术—计算机科学与技术]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象