EFFICIENT SYMBOLIC EXECUTION OF SOFTWARE USING STATIC ANALYSIS
    1.
    发明申请
    EFFICIENT SYMBOLIC EXECUTION OF SOFTWARE USING STATIC ANALYSIS 审中-公开
    使用静态分析的软件的有效符号执行

    公开(公告)号:US20100223599A1

    公开(公告)日:2010-09-02

    申请号:US12395515

    申请日:2009-02-27

    IPC分类号: G06F11/36

    CPC分类号: G06F11/3608 G06F11/3624

    摘要: In one embodiment, a method includes accessing software comprising one or more inputs, one or more variables, and one or more segments of code that when executed operate on one or more of the inputs or one or more of the variables. The method includes, for every variable, determining whether the variable is relevant or irrelevant to a set of the inputs when expressed symbolically and, if the variable is relevant, instrumenting the variable and every one of the segments of code associated with the variable. A segment of code is associated with the variable if the variable affects the segment of code when executed. The method includes symbolically executing the software with every relevant variable and its associated segments of code as instrumented to test the software.

    摘要翻译: 在一个实施例中,一种方法包括访问包括一个或多个输入,一个或多个变量以及一个或多个代码片段的软件,所述代码段在执行时对一个或多个输入或一个或多个变量进行操作。 该方法包括对于每个变量,确定该变量是否与一组符号上的输入相关或不相关,并且如果该变量是相关的,则对该变量和与该变量相关联的代码段进行测量。 如果变量在执行时影响代码段,则代码段与变量相关联。 该方法包括以每个相关变量及其相关的代码段代码执行软件,以便对该软件进行测试。

    Solving hybrid constraints to validate specification requirements of a software module
    2.
    发明授权
    Solving hybrid constraints to validate specification requirements of a software module 有权
    解决混合约束以验证软件模块的规范要求

    公开(公告)号:US08572574B2

    公开(公告)日:2013-10-29

    申请号:US12837818

    申请日:2010-07-16

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3608

    摘要: In one embodiment, a software module is validated according to requirements associated with the software module. The software module has numeric and string variables, and is associated with first numeric constrains and first string constraints. Second numeric constraints applying to specific numeric variables and second string constraints applying to specific string variables are inferred. Each numeric constraint is represented with an equation, and each string constraint is represented with a finite state machine. Attempt to solve a solution for the numeric and string variables that satisfies all the first and second numeric constraints, all the first and second string constraints, and all the requirements associated with the software module by iteratively testing different possible values for the numeric and string variables.

    摘要翻译: 在一个实施例中,软件模块根据与软件模块相关联的要求被验证。 软件模块具有数字和字符串变量,并与第一个数字约束和第一个字符串约束相关联。 推测应用于特定数值变量的第二个数值约束和应用于特定字符串变量的第二个字符串约束。 每个数字约束用等式表示,每个字符串约束用有限状态机表示。 尝试通过迭代测试数字和字符串变量的不同可能值来解决满足所有第一个和第二个数字约束,所有第一个和第二个字符串约束以及与该软件模块相关联的所有要求的数字和字符串变量的解决方案 。

    Solving Hybrid Constraints to Generate Test Cases for Validating a Software Module
    3.
    发明申请
    Solving Hybrid Constraints to Generate Test Cases for Validating a Software Module 审中-公开
    解决混合约束以生成用于验证软件模块的测试用例

    公开(公告)号:US20120017119A1

    公开(公告)日:2012-01-19

    申请号:US12837974

    申请日:2010-07-16

    IPC分类号: G06F11/28

    CPC分类号: G06F11/3684

    摘要: In one embodiment, a method includes analyzing one or more first numeric constraints and one or more first string constraints associated with a software module including one or more numeric variables and string variables; inferring one or more second numeric constraints applying to specific ones of the string variables; inferring one or more second string constraints applying to specific ones of the numeric variables; representing each one of the first and second numeric constraints with an equation; representing each one of the first and second string constraints with a finite state machine; and testing the software module for one or more possible errors by attempting to solve for a solution including one or more values for specific ones of the numeric and string variables that satisfies all the first and second numeric constraints and all the first and second string constraints.

    摘要翻译: 在一个实施例中,一种方法包括分析一个或多个第一数字约束和与包括一个或多个数字变量和字符串变量的软件模块相关联的一个或多个第一字符串约束; 推断应用于特定字符串变量的一个或多个第二数值约束; 推断应用于特定数字变量的一个或多个第二字符串约束; 用等式表示第一和第二数值约束中的每一个; 用有限状态机代表第一和第二字符串约束中的每一个; 并且通过尝试解决包括满足所有第一和第二数值约束以及所有第一和第二字符串约束的数字和字符串变量的特定值的一个或多个值的解决方案来测试一个或多个可能的错误的软件模块。

    Solving Hybrid Constraints to Validate Specification Requirements of a Software Module
    4.
    发明申请
    Solving Hybrid Constraints to Validate Specification Requirements of a Software Module 有权
    解决混合约束以验证软件模块的规范要求

    公开(公告)号:US20120017117A1

    公开(公告)日:2012-01-19

    申请号:US12837818

    申请日:2010-07-16

    IPC分类号: G06F11/36 G06N5/04

    CPC分类号: G06F11/3608

    摘要: In one embodiment, a method includes analyzing one or more first numeric constraints and one or more first string constraints associated with a software module including one or more numeric variables and string variables; inferring one or more second numeric constraints applying to specific ones of the string variables; inferring one or more second string constraints applying to specific ones of the numeric variables; representing each one of the first and second numeric constraints with an equation; representing each one of the first and second string constraints with a finite state machine; and validating the software module with respect to one or more requirements associated with the software module by attempting to solve for a solution including one or more values for specific ones of the numeric and string variables that satisfies all the first and second numeric constraints, all the first and second string constraints, and all the requirements.

    摘要翻译: 在一个实施例中,一种方法包括分析一个或多个第一数字约束和与包括一个或多个数字变量和字符串变量的软件模块相关联的一个或多个第一字符串约束; 推断应用于特定字符串变量的一个或多个第二数值约束; 推断应用于特定数字变量的一个或多个第二字符串约束; 用等式表示第一和第二数值约束中的每一个; 用有限状态机代表第一和第二字符串约束中的每一个; 以及通过尝试解决包括满足所有第一和第二数值约束的数字和字符串变量中的特定值的一个或多个值的解决方案来验证关于与软件模块相关联的一个或多个要求的软件模块, 第一和第二个字符串约束以及所有要求。

    System and Method for Providing Symbolic Execution Engine for Validating Web Applications
    5.
    发明申请
    System and Method for Providing Symbolic Execution Engine for Validating Web Applications 审中-公开
    为验证Web应用程序提供符号执行引擎的系统和方法

    公开(公告)号:US20090089759A1

    公开(公告)日:2009-04-02

    申请号:US11866043

    申请日:2007-10-02

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3604 G06F11/3684

    摘要: In accordance with a particular embodiment of the present invention, a method is offered that includes generating a symbolic string manipulation class library for one or more web applications. The manipulations are generalized into a string manipulation symbolic algebra. The method also includes performing symbolic execution for one or more web applications. Typically, a Java model checker is augmented to check for certain types of requirements or properties in performing the symbolic execution. If an error scenario exists, a solution to a set of symbolic constraints is obtained, and the solution is mapped back to a source code to obtain an error trace and a test case. In still other specific embodiments, requirements or properties are encoded through templates and checked using public domain decision procedures. The properties or requirements can relate to security validation. The symbolic execution can be customized and tuned for Java-based web applications.

    摘要翻译: 根据本发明的特定实施例,提供了一种方法,其包括为一个或多个web应用生成符号串操纵类库。 操纵被推广到字符串操作符号代数中。 该方法还包括对一个或多个web应用执行符号执行。 通常,扩展Java模型检查器以检查执行符号执行时的某些类型的要求或属性。 如果存在错误情况,则获得一组符号约束的解决方案,并将解决方案映射回源代码以获取错误跟踪和测试用例。 在其他具体实施例中,通过模板对需求或属性进行编码,并使用公共领域决策程序进行检查。 属性或要求可以与安全验证有关。 可以为基于Java的Web应用程序定制和调整符号执行。

    Solving Hybrid Constraints to Validate a Security Software Module for Detecting Injection Attacks
    6.
    发明申请
    Solving Hybrid Constraints to Validate a Security Software Module for Detecting Injection Attacks 审中-公开
    解决混合约束以验证用于检测注入攻击的安全软件模块

    公开(公告)号:US20120017200A1

    公开(公告)日:2012-01-19

    申请号:US12838061

    申请日:2010-07-16

    IPC分类号: G06F9/44

    摘要: In one embodiment, a method includes analyzing one or more first numeric constraints and one or more first string constraints associated with a software module including one or more numeric variables and string variables; inferring one or more second numeric constraints applying to specific ones of the string variables; inferring one or more second string constraints applying to specific ones of the numeric variables; representing each one of the first and second numeric constraints with an equation; representing each one of the first and second string constraints with a finite state machine; and verifying whether the software module is able to detect one or more forms of injection attacks by attempting to solve for a solution including one or more values for specific ones of the numeric and string variables that satisfies all the first and second numeric constraints and all the first and second string constraints.

    摘要翻译: 在一个实施例中,一种方法包括分析一个或多个第一数字约束和与包括一个或多个数字变量和字符串变量的软件模块相关联的一个或多个第一字符串约束; 推断应用于特定字符串变量的一个或多个第二数值约束; 推断应用于特定数字变量的一个或多个第二字符串约束; 用等式表示第一和第二数值约束中的每一个; 用有限状态机代表第一和第二字符串约束中的每一个; 以及通过尝试解决包括满足所有第一和第二数值约束的数字和字符串变量中的特定值的一个或多个值的解决方案来验证软件模块是否能够检测一种或多种形式的注入攻击,并且所有 第一和第二个字符串约束。