示例 2:从“跟踪”视图创建验证/编码例程
关于此任务
由于 AppScan® Source 跟踪 将 FileInputStream.read
方法标识为生成感染数据的源,因此您应该创建验证或编码例程以从未来的扫描中消除此结果。
要为 FileInputStream.read
创建输入验证例程:
过程
- 在“跟踪”视图调用图中,选择并右键单击
TestCase_IOT_Instance_Val_Encode.encode
方法。提示: 如果要创建的验证/编码例程没有出现在跟踪图形中,您可以通过从“跟踪”视图启动“定制规则向导”来创建该例程。示例 2:从定制规则向导创建验证/编码例程解释了执行此操作所包含的步骤。 - 在菜单中选择标记为验证/编码例程。
- 如果
encode
例程仅应用于调用FileInputStream.read
的此特定实例,请在“指定如何应用此验证例程”对话框中选择对 java.io.FileInputStream.read 的此调用。
通常,您将指定对 java.io.FileInputStream.read 的此调用,因为
validate
方法是该类的私有方法且与代码紧密关联。选择对 java.io.FileInputStream.read 的任何调用以将验证例程应用于对
read
方法的任何调用。选择此选项时,还请选择应用于此项目(如果这仅对当前项目有效)或者应用于所有项目。 - 将例程设置为应用于
FileInputStream
类的所有read
方法以及带有Technology.IO
属性的任何接收器(如java.io.PrintWrite.write
方法):- 将
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*
节点,然后单击确定。注: 所列出的签名节点数量取决于应用程序使用情况。选择所有要应用的内容。 - 添加接收器属性:单击接收器属性部分的添加 VMAT 属性按钮。在“选择属性”对话框中,选择
Technology.IO
属性,然后单击确定。 - 完成所有设置后,对话框应类似于如下所示:
- 将
- 单击确定将验证例程添加到数据库。