下载此文档

静态扫描方法.ppt


文档分类:IT计算机 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
静态扫描方法
第1页,此课件共30页哦
控制流与数据流
扫描规则
举例
静态扫描法
第2页,此课件共30页哦
控制流与数据流
有向图
DD图
基本路径树
数据流
第3页,此课件共30页哦
有向图
是否内存被释放后却继续被使用
1)   扫描所有控制路径中局部指针变量的定义使用链,检查指针变量在引用前是否已经释放。
2)   扫描所有控制路径中指针参数变量的定义使用链,如果没有出现变量在引用前已经释放,则查找所有包含函数调用的控制路径,扫描其中指针变量对应的定义使用链,检查变量在引用前是否已经释放。
3)   扫描所有控制路径中全局指针变量的定义使用链,如果没有出现变量在引用前已经释放,则查找所有包含全局指针变量的控制路径,扫描全局指针变量的定义使用链,检查该变量在引用前是否已经释放。
内存使用故障
第11页,此课件共30页哦
是否存在内存泄漏
1)   扫描所有控制路径中指针变量的定义使用链,如果变量指向的内存在成功分配后没有释放,但是在指针的定义使用链中包含对指针的函数引用,则继续检查调用该变量的函数中的所有控制路径是否释放内存。
2)   扫描所有控制路径中指针变量的定义使用链,如果变量指向的内存在成功分配后没有释放,但是在指针的定义使用链中包含对指针的返回引用,则继续检查包含返回变量的所有控制路径是否释放内存。
3) 扫描所有控制路径中指针变量的定义使用链,如果变量指向的内存在成功分配后没有释放,但是在指针的定义使用链中包含对指针的赋值引用,则继续检查包含被赋值变量的所有控制路径是否释放内存。
内存使用故障
第12页,此课件共30页哦
内存是否越界
1)   扫描局部指针变量的定义使用链,检查所有引用的内存空间是否超过给指针分配的内存空间。
2)   扫描参数指针变量的定义使用链,检查所有引用的内存空间是否超过给指针分配的内存空间。
3) 扫描全局指针变量的定义使用链,检查所有引用的内存空间是否超过给指针分配的内存空间。
内存使用故障
第13页,此课件共30页哦
变量是否初始化
1)   扫描所有控制路径中局部变量的定义使用链,检查变量在引用前是否定义。
2)   扫描所有控制路径中参数变量的定义使用链,如果变量在引用前没有定义,则查找所有包含函数调用的控制路径,扫描其中参数变量对应的定义使用链,检查变量在引用前是否定义。
3) 扫描所有控制路径中全局变量的定义使用链,如果变量在引用前没有定义,则查找所有包含全局变量的控制路径,扫描其中全局变量的定义使用链,检查全局变量在引用前是否定义。
变量使用故障
第14页,此课件共30页哦
变量的值是否可能导致异常
1)   扫描所有控制路径中局部变量的定义使用链,检查变量的值是否会导致系统出现异常。
2)   扫描参数变量对应的定义使用链,检查变量的值是否会导致系统出现异常。
3) 扫描所有控制路径中全局变量的定义使用链,检查全局变量的值是否会导致系统出现异常。
变量使用故障
第15页,此课件共30页哦
变量是否发生上溢或下溢
1)   扫描局部数组变量的定义使用链,检查所有的引用位置是否出现上溢或下溢。
2)   如果函数的参数变量是数组,扫描参数变量的定义使用链,检查所有的引用位置是否出现上溢或下溢。
3) 如果全局变量是数组,扫描全局变量在当前函数中的定义使用链,检查所有的引用位置是否出现上溢或下溢。
变量使用故障
第16页,此课件共30页哦
是否对不存在的或者错误的资源进行操作
1)   扫描所有控制路径中资源变量的定义使用链,检查在引用前是否判断变量的有效性。
2)   如果全局变量使用了外部资源,则扫描所有包含全局变量的控制路径,检查在引用前是否判断变量的有效性。
3)   如果参数变量使用了外部资源,并且在一条控制路径中在引用前没有判断其有效性,则扫描所有包含参数变量的控制路径,检查在引用前是否判断变量的有效性。
资源使用故障
第17页,此课件共30页哦
是否正确地释放资源
1)   扫描所有控制路径中资源变量的定义使用链,如果变量指向的资源在使用后没有释放,但是在变量的定义使用链中包含对变量的函数引用,则继续检查调用该变量的函数中的所有控制路径是否释放资源。
2)   扫描所有控制路径中资源变量的定义使用链,如果变量指向的资源在使用后没有释放,但是在变量的定义使用链中包含对变量的返回引用,则继续检查包含返回变量的所有控制路径是否释放资源。
3) 扫描所有控制路径中资源变量的定义使用链,如果变量指向的资源在使用后没有释放,但是在变量的定义使用链中包含对变量的赋值引用,则继续检查包含被赋值变量的所有控制路径是否释放资源。

静态扫描方法 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数30
  • 收藏数0 收藏
  • 顶次数0
  • 上传人卓小妹
  • 文件大小1.43 MB
  • 时间2022-04-20
最近更新