Configurable Web Services System and a Method to Detect Defects in Software Applications
    1.
    发明申请
    Configurable Web Services System and a Method to Detect Defects in Software Applications 审中-公开
    可配置的Web服务系统和检测软件应用程序缺陷的方法

    公开(公告)号:US20090089757A1

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

    申请号:US11865610

    申请日:2007-10-01

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3684 G06F8/10

    摘要: In accordance with a particular embodiment of the present invention, a method is offered that includes detecting one or more defects in a software application composed of heterogeneous languages using a configurable web services architecture. The detecting step further includes: capturing use cases associated with the software application and checking their validity; providing an automatic invocation of property monitors for model checking; and visualizing one or more defects in the software application for diagnosis. The detecting can further include transforming a heterogeneous software application into a homogeneous application. In more specific embodiments, the detecting further includes providing an automatic test generation for a presentation layer associated with the software application. The configuration associated with the software application can be a simple properties file. The detecting further includes simulating user behavior and generating drivers to test business logic from the use cases or scenarios.

    摘要翻译: 根据本发明的特定实施例,提供了一种方法,其包括使用可配置的web服务架构检测由异构语言组成的软件应用中的一个或多个缺陷。 所述检测步骤还包括:捕获与所述软件应用相关联的使用情况并检查其有效性; 提供模型检查的属性监视器的自动调用; 并可视化软件应用程序中的一个或多个缺陷进行诊断。 该检测还可以包括将异构软件应用程序转换为同构应用程序。 在更具体的实施例中,检测还包括提供与软件应用相关联的表示层的自动测试生成。 与软件应用程序相关的配置可以是一个简单的属性文件。 该检测还包括模拟用户行为并生成驱动程序以从用例或场景测试业务逻辑。

    System and Method for Providing Symbolic Execution Engine for Validating Web Applications
    2.
    发明申请
    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应用程序定制和调整符号执行。

    System and method for detecting software defects
    3.
    发明授权
    System and method for detecting software defects 有权
    用于检测软件缺陷的系统和方法

    公开(公告)号:US07685471B2

    公开(公告)日:2010-03-23

    申请号:US11670143

    申请日:2007-02-01

    IPC分类号: G06F11/00

    CPC分类号: G06F11/3608 G06F9/44

    摘要: A method for detecting software defects includes selecting from a target program comprising a plurality of modules a first module for evaluation and isolating the first module. The method also includes iteratively performing the following steps until the first module has been reduced such that a validation program is able to determine whether the first module contains a defect: generating an environment surrounding the first module, the generated environment preserving at least one external constraint on the first module; reducing the size of the first module; and reducing the number of program states associated with the first module.

    摘要翻译: 用于检测软件缺陷的方法包括从包括多个模块的目标程序中选择用于评估和隔离第一模块的第一模块。 该方法还包括迭代地执行以下步骤,直到第一模块被减少,使得验证程序能够确定第一模块是否包含缺陷:生成围绕第一模块的环境,所生成的环境保留至少一个外部约束 在第一个模块上 减小第一个模块的尺寸; 并减少与第一模块相关联的程序状态的数量。

    System and method for providing middleware for capture of global requirements and validation for web applications
    4.
    发明授权
    System and method for providing middleware for capture of global requirements and validation for web applications 有权
    用于提供中间件以捕获全局需求和Web应用程序验证的系统和方法

    公开(公告)号:US08271953B2

    公开(公告)日:2012-09-18

    申请号:US12046736

    申请日:2008-03-12

    IPC分类号: G06F9/44

    CPC分类号: G06F9/44589 H04L67/02

    摘要: In accordance with a particular embodiment of the present invention, a method is offered that includes supporting requirement validation middleware and capturing global requirements or properties for one or more web applications. A template-based formalism is employed to capture the requirements or properties. A small set of relevant temporal patterns are provided from which to choose in capturing the global requirements or properties. In specific embodiments, the method uses a set of pre-coded semi-configurable checkers. A Java-like syntax is used to specify expressions. A library of atomic entities or events (to compose expressions) is automatically generated. In still other embodiments, a small set of light-weight automatically-customizable checkers are employed in capturing the global requirements or properties. The method can be used with both formal and semi-formal techniques.

    摘要翻译: 根据本发明的特定实施例,提供了一种方法,其包括支持需求验证中间件并且捕获一个或多个web应用的全局要求或属性。 采用基于模板的形式来捕捉需求或属性。 提供了一小组相关的时间模式,从中可以选择捕获全局需求或属性。 在具体实施例中,该方法使用一组预先编码的半可配置检查器。 类Java语法用于指定表达式。 自动生成原子实体或事件(组合表达式)的库。 在其他实施例中,采用一小组轻量级的自动定制的检查器来捕获全局要求或属性。 该方法可以与正式和半正式技术一起使用。

    System and Method for Providing Middleware for Capture of Global Requirements and Validation for Web Applications
    5.
    发明申请
    System and Method for Providing Middleware for Capture of Global Requirements and Validation for Web Applications 有权
    提供中间件捕获全球需求和Web应用程序验证的系统和方法

    公开(公告)号:US20090235235A1

    公开(公告)日:2009-09-17

    申请号:US12046736

    申请日:2008-03-12

    IPC分类号: G06F9/44

    CPC分类号: G06F9/44589 H04L67/02

    摘要: In accordance with a particular embodiment of the present invention, a method is offered that includes supporting requirement validation middleware and capturing global requirements or properties for one or more web applications. A template-based formalism is employed to capture the requirements or properties. A small set of relevant temporal patterns are provided from which to choose in capturing the global requirements or properties. In specific embodiments, the method uses a set of pre-coded semi-configurable checkers. A Java-like syntax is used to specify expressions. A library of atomic entities or events (to compose expressions) is automatically generated. In still other embodiments, a small set of light-weight automatically-customizable checkers are employed in capturing the global requirements or properties. The method can be used with both formal and semi-formal techniques.

    摘要翻译: 根据本发明的特定实施例,提供了一种方法,其包括支持需求验证中间件并且捕获一个或多个web应用的全局要求或属性。 采用基于模板的形式来捕捉需求或属性。 提供了一小组相关的时间模式,从中可以选择捕获全局需求或属性。 在具体实施例中,该方法使用一组预先编码的半可配置检查器。 类Java语法用于指定表达式。 自动生成原子实体或事件(组合表达式)的库。 在其他实施例中,采用一小组轻量级的自动定制的检查器来捕获全局要求或属性。 该方法可以与正式和半正式技术一起使用。

    Using symbolic execution to check global temporal requirements in an application
    6.
    发明授权
    Using symbolic execution to check global temporal requirements in an application 有权
    使用符号执行来检查应用程序中的全局时间要求

    公开(公告)号:US08359576B2

    公开(公告)日:2013-01-22

    申请号:US12271651

    申请日:2008-11-14

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3604

    摘要: In one embodiment, a method include accessing one or more global temporal requirements of an application specified using one or more requirement templates from a library of requirement templates, accessing a model of the application, generating one or more symbolic expressions of one or more of the global temporal requirements of the application, searching a state space of the application model with a model checker, monitoring the search of the state space for events in the state space encompassed by the symbolic expressions and modifying construction of a graph of the state space in response to occurrence of one or more events encompassed by the symbolic expressions, evaluating the symbolic expressions based on the graph of the state space to determine whether one or more of the global temporal requirements are valid, and communicating one or more results of the evaluation of the symbolic expressions for presentation to a user.

    摘要翻译: 在一个实施例中,一种方法包括访问使用一个或多个要求模板指定的应用程序的一个或多个全局时间要求,来​​自需求模板库,访问应用程序的模型,生成一个或多个 应用程序的全局时间要求,使用模型检查器搜索应用程序模型的状态空间,监视由符号表达式包含的状态空间中的事件的状态空间的搜索,并修改响应中的状态空间图形的构造 发生由符号表达式包含的一个或多个事件,基于状态空间的图来评估符号表达,以确定全局时间要求中的一个或多个是否有效,以及传达一个或多个评估结果 用于呈现给用户的符号表达式。

    Using Symbolic Execution to Check Global Temporal Requirements in an Application
    7.
    发明申请
    Using Symbolic Execution to Check Global Temporal Requirements in an Application 有权
    使用符号执行检查应用程序中的全局时间要求

    公开(公告)号:US20100125832A1

    公开(公告)日:2010-05-20

    申请号:US12271651

    申请日:2008-11-14

    IPC分类号: G06F9/44 G06N5/00

    CPC分类号: G06F11/3604

    摘要: In one embodiment, a method include accessing one or more global temporal requirements of an application specified using one or more requirement templates from a library of requirement templates, accessing a model of the application, generating one or more symbolic expressions of one or more of the global temporal requirements of the application, searching a state space of the application model with a model checker, monitoring the search of the state space for events in the state space encompassed by the symbolic expressions and modifying construction of a graph of the state space in response to occurrence of one or more events encompassed by the symbolic expressions, evaluating the symbolic expressions based on the graph of the state space to determine whether one or more of the global temporal requirements are valid, and communicating one or more results of the evaluation of the symbolic expressions for presentation to a user.

    摘要翻译: 在一个实施例中,一种方法包括访问使用一个或多个要求模板指定的应用程序的一个或多个全局时间要求,来​​自需求模板库,访问应用程序的模型,生成一个或多个 应用程序的全局时间要求,使用模型检查器搜索应用程序模型的状态空间,监视由符号表达式包含的状态空间中的事件的状态空间的搜索,并修改响应中的状态空间图形的构造 发生由符号表达式包含的一个或多个事件,基于状态空间的图来评估符号表达,以确定全局时间要求中的一个或多个是否有效,以及传达一个或多个评估结果 用于呈现给用户的符号表达式。

    System and Method for Detecting Software Defects
    8.
    发明申请
    System and Method for Detecting Software Defects 有权
    用于检测软件缺陷的系统和方法

    公开(公告)号:US20080189686A1

    公开(公告)日:2008-08-07

    申请号:US11670143

    申请日:2007-02-01

    IPC分类号: G06F11/36 G06F3/048

    CPC分类号: G06F11/3608 G06F9/44

    摘要: A method for detecting software defects includes selecting from a target program comprising a plurality of modules a first module for evaluation and isolating the first module. The method also includes iteratively performing the following steps until the first module has been reduced such that a validation program is able to determine whether the first module contains a defect: generating an environment surrounding the first module, the generated environment preserving at least one external constraint on the first module; reducing the size of the first module; and reducing the number of program states associated with the first module.

    摘要翻译: 用于检测软件缺陷的方法包括从包括多个模块的目标程序中选择用于评估和隔离第一模块的第一模块。 该方法还包括迭代地执行以下步骤,直到第一模块被减少,使得验证程序能够确定第一模块是否包含缺陷:生成围绕第一模块的环境,所生成的环境保留至少一个外部约束 在第一个模块上 减小第一个模块的尺寸; 并减少与第一模块相关联的程序状态的数量。

    Generating software application user-input data through analysis of client-tier source code
    9.
    发明授权
    Generating software application user-input data through analysis of client-tier source code 有权
    通过分析客户端源代码生成软件应用程序用户输入数据

    公开(公告)号:US08479170B2

    公开(公告)日:2013-07-02

    申请号:US12778745

    申请日:2010-05-12

    IPC分类号: G06F9/45

    CPC分类号: G06F11/3608 G06F11/3684

    摘要: In one embodiment, analyze client-tier source code of a client-server software application to extract one or more software modules that handle user-input data of the software application. For each one of the software modules, extract from the software module one or more user-input constraints placed on the user-input data, comprising: analyze source code of the software module to determine one or more failure points in the source code; perform symbolic execution on the software module to extract one or more first expressions that cause the software module to reach the failure points, respectively; obtain a second expression as the disjunction of all the first expressions; obtain a third expression as the negation of the second expression; and extract the user-input constraints from the third expression. Determine one or more user-input data that satisfy all the user-input constraints.

    摘要翻译: 在一个实施例中,分析客户端 - 服务器软件应用程序的客户层级源代码以提取处理软件应用程序的用户输入数据的一个或多个软件模块。 对于每个软件模块,从软件模块中提取放置在用户输入数据上的一个或多个用户输入约束,包括:分析软件模块的源代码以确定源代码中的一个或多个故障点; 在软件模块上执行符号执行,以提取分别导致软件模块到达故障点的一个或多个第一表达式; 获得第二个表达式作为所有第一个表达式的分离; 获得第三个表达式作为第二个表达式的否定; 并从第三个表达式中提取用户输入约束。 确定满足所有用户输入约束的一个或多个用户输入数据。

    Generating Software Application User-Input Data Through Analysis of Client-Tier Source Code
    10.
    发明申请
    Generating Software Application User-Input Data Through Analysis of Client-Tier Source Code 有权
    通过客户端源代码分析生成软件应用程序用户输入数据

    公开(公告)号:US20110283147A1

    公开(公告)日:2011-11-17

    申请号:US12778745

    申请日:2010-05-12

    IPC分类号: G06F11/36 G06F11/00

    CPC分类号: G06F11/3608 G06F11/3684

    摘要: In one embodiment, analyze client-tier source code of a client-server software application to extract one or more software modules that handle user-input data of the software application. For each one of the software modules, extract from the software module one or more user-input constraints placed on the user-input data, comprising: analyze source code of the software module to determine one or more failure points in the source code; perform symbolic execution on the software module to extract one or more first expressions that cause the software module to reach the failure points, respectively; obtain a second expression as the disjunction of all the first expressions; obtain a third expression as the negation of the second expression; and extract the user-input constraints from the third expression. Determine one or more user-input data that satisfy all the user-input constraints.

    摘要翻译: 在一个实施例中,分析客户端 - 服务器软件应用程序的客户层级源代码,以提取处理软件应用程序的用户输入数据的一个或多个软件模块。 对于每个软件模块,从软件模块中提取放置在用户输入数据上的一个或多个用户输入约束,包括:分析软件模块的源代码以确定源代码中的一个或多个故障点; 在软件模块上执行符号执行,以提取分别导致软件模块到达故障点的一个或多个第一表达式; 获得第二个表达式作为所有第一个表达式的分离; 获得第三个表达式作为第二个表达式的否定; 并从第三个表达式中提取用户输入约束。 确定满足所有用户输入约束的一个或多个用户输入数据。