利用 RuleWizard,就能以图形化的办法创建规则(通过创建流程图形式的规则表示法),或者自动创建规则(通过供应演示样本规则违例的代码)。编写或修正规则时,无需任何编码或解析器的知识。
打开 RuleWizard的方法有两种:
选择 “Jtest > Launch RuleWizard(Jtest > 启动 RuleWizard)”。单击Test Configurations面板的 “Static(静态)”选项卡中的 “New(新建)”按钮然后就会打开 RuleWizard GUI。“RuleWizard User's Guide”(《RuleWizard 用户指南》)(通过在 RuleWizard GUI 中选择 “Help > Documentation(帮助 > 文档)”可阅读此书)包含关于如何修正、创建和保存自定义规则的信息。BugDetective静态剖析
BugDetective 是一类新的静态剖析技能,该技能利用了几种剖析技巧,包括仿照运用程序实行路径,以识别可能触发运行时毛病的路径。检测到的毛病包括,空指针非常、资源泄露、SQL注入和其他安全漏洞问题。
把稳:如需利用 BugDetective,则须要用Server Edition (做事器版)。
由于该剖析涉及到识别和跟踪繁芜路径,它会暴露常日可躲避编码规则静态剖析和单元测试的缺点,这些缺点难以通过手动测试或检讨找到。对付那些具有遗留代码库和嵌入式代码(这些情形下,此类缺点的运行时检测效果较差或根本不可能)的用户而言,BugDetective可在不实行代码的情形下显露缺点的功能,就特殊主要。
BugDetective独特的静态剖析通过搜索代码中的 “可疑点”,开始剖析正在测试的源码。可疑点是潜在的缺点点。这些可疑点在 BugDetective 规则中被定义。只要识别了可疑点,BugDetective 就调查导致该可疑点的可能实行路径,并检讨是否有任何确实违反BugDetective规则的路径存在。如果找到了这样的路径,就报告一个违例。
例如,检测可能的 “除数为零”环境的规则就规定,任何利用了\"大众/\公众 或 \"大众%\"大众 运算符的点都是可疑的。然后它检讨分母中的变量,在导致它为零的任何可能实行路径的点中,是否能保持零值。如果是的话,则会报告一条缺点。
对付每个创造的缺点,分层构造流路径数据都会详细准确地列出导致被识别缺点的完全实行路径,并以显现出错误的那一代码行作为结束。为减少每个被创造问题的诊断和纠正所须要的韶光和事情量,流路径详细信息还会补充扩展注释(例如,一条关于 “避免空指针解除引用”违例的描述就包含这样的注释,描述哪些变量、在流路径的哪一点包含 null 值)。
为使剖析过程更灵巧、更适宜于项目的独特哀求,可以参数化某些规则。因此,BugDetective 乃至可以用来检测与特定的 API 利用干系的违例。
通过利用 BugDetective,开拓团队可以得到以下关键好处:
用现有资源实行更综合的测试:自动识别通过了多个单元的缺点:关注实际缺点和设计毛病:查找 API 误用: