示例 2:从“跟踪”视图创建验证/编码例程

关于此任务

由于 AppScan® Source traceFileInputStream.read 方法标识为生成感染数据的源,因此您应该创建验证或编码例程以从未来的扫描中消除此结果。

要为 FileInputStream.read 创建输入验证例程:

过程

  1. 在“跟踪”视图调用图中,选择并右键单击 TestCase_IOT_Instance_Val_Encode.encode 方法。
    提示: 如果要创建的验证/编码例程没有出现在跟踪图形中,您可以通过从“跟踪”视图启动“定制规则向导”来创建该例程。示例 2:从定制规则向导创建验证/编码例程解释了执行此操作所包含的步骤。
  2. 在菜单中选择标记为验证/编码例程“标记为验证/编码例程”菜单项
  3. 如果 encode 例程仅应用于调用 FileInputStream.read 的此特定实例,请在“指定如何应用此验证例程”对话框中选择对 java.io.FileInputStream.read 的此调用指定如何应用此验证例程

    通常,您将指定对 java.io.FileInputStream.read 的此调用,因为 validate 方法是该类的私有方法且与代码紧密关联。

    选择对 java.io.FileInputStream.read 的任何调用以将验证例程应用于对 read 方法的任何调用。选择此选项时,还请选择应用于此项目(如果这仅对当前项目有效)或者应用于所有项目

  4. 将例程设置为应用于 FileInputStream 类的所有 read 方法以及带有 Technology.IO 属性的任何接收器(如 java.io.PrintWrite.write 方法):
    1. read 方法添加为源:尽管您可以指定对 java.io.FileInputStream.read(byte[]):int 的任何调用以将 java.io.FileInputStream.read(byte[]):int 添加为源,但是我们将改为逐个添加源。在“指定如何应用此验证例程”对话框的应用于菜单中选择未考虑 java.io.FileInputStream.read(byte[]):int,下面指定了所有约束。然后,单击部分添加按钮。在“选择特征符”对话框中,展开 java.io,然后展开 FileInputStream 部分。多项选中 java.io.FileInputStream.read* 节点,然后单击确定
      “选择特征符”对话框
      注: 所列出的签名节点数量取决于应用程序使用情况。选择所有要应用的内容。
    2. 添加接收器属性:单击接收器属性部分的添加 VMAT 属性按钮。在“选择属性”对话框中,选择 Technology.IO 属性,然后单击确定
    3. 完成所有设置后,对话框应类似于如下所示:
      已完成“指定如何应用此验证例程”对话框
  5. 单击确定即可保存并共享验证例程。