静态扫描方法课件.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
白盒测试方法 ——静态扫描法 int main() { float a = 1.0; float b = 2.0; … if ((a * 2 – b) == 0.0) { return 1; } return 0; } void main() { int a = 0, b = 0; … switch (a) { case 0: b = -1; case 1: b = b / a; break; } … } int main() { int sum, i; for (i =1; i 30000; i++) { sum = sum + i; } return 0; } void func() { float a = 72.0; float b = 55.0; long result = 0; result = (long)(a*b); return 1; } int func() { char c1 = 0; c1 = 145; if (c1 300) { return 3; } if (c1 25) { return 2; } return 1; } void func() { int i = 0; … for (i = 0; i 10; i++) { if (i == 5) { break; } } … return; } int foo103() { int *pi = 0; char *pc = 0; if (pc == pi) { return 1; } else { return 0; } } int main() { char *c = TEST; char d[20]; … memcpy(d, c, sizeof (d)); … } int main() { ... char b[8]; strncpy(b, This is a test, sizeof (b)); printf(%s\n, b); ... } * * 金大海 2006年5月 控制流与数据流 扫描规则 举例 静态扫描法 控制流与数据流 有向图 DD图 基本路径树 数据流 有向图 G=(V,E),V是顶点的集合,E是有向边(简称边)的集合。e=(T(e),H(e))?E是一对有序的邻接节点,T(e)是尾,H(e)是头。如果H(e)=T(e),则e和e是临界边。H(e)是T(e)的后继节点,T(e)是H(e)的前驱节点,indergee(n)和outdegree(n)分别是结点n的入度和出度。 e1 e2 e3 e4 e5 e6 e7 e8 e9 n0 n1 n2 n3 n4 n6 n7 DD图:G=(V,E)有两个区分的边e0和ek(唯一进入的边和唯一离开的边),e0可以到达E的任何一个边,E的任何一个边都可以到达ek,对任何n?V,n?T(e0),n?H(ek), indegree(n)+outdegree(n)2 indegree(T(e0))=0,outdegree(T(e0))=1,indegree(H(ek))=1,outdegree(H(ek))=0。 e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 n0 n1 n2 n3 n4 n6 n7 DD图 路径、完整路径、可达、简单路径、基本路径 float a,b,c,x1,x2,mid; scanf(“%f%,f%,f”,a,b,c); if(a!=0) { mid=b*b-4*a*c; if(mid0) { x1=(-b+sqrt(mid))/(2*a); x2=(-b-sqrt(mid))/(2*a); printf(“ two real roots\n”); } else if(mid==0) { x1=-b/2*a; printf(“ one real root\n”); } else { x1=-b/(2*a); x2=sqrt(-mid)/(2*a)) printf(“ two complex roots\n”); } prinf(“x1=%f,x2=%f\n”,x1,x2); } else prinf(“invalid”

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档