FAULT LOCALIZATION USING CONDITION MODELING AND RETURN VALUE MODELING
    2.
    发明申请
    FAULT LOCALIZATION USING CONDITION MODELING AND RETURN VALUE MODELING 有权
    使用条件建模和返回值建模的故障定位

    公开(公告)号:US20120054553A1

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

    申请号:US12873843

    申请日:2010-09-01

    IPC分类号: G06F11/36

    CPC分类号: G06F11/3688 G06F11/3692

    摘要: Disclosed is a novel computer implemented system, on demand service, computer program product and a method that leverages combined concrete and symbolic execution and several fault-localization techniques to create a uniquely powerful tool that automatically detects failures and localizes faults in PHP Web applications. The fault-localization techniques evaluated combine variations on the Tarantula algorithm with a technique based on maintaining a mapping between executed statements and the fragments of output they produce, mapping of conditional results, and values returned from function calls. These techniques have been implemented in a tool called Apollo, and evaluated by localizing 75 randomly selected faults that were exposed by automatically generated tests in four PHP applications. Our findings indicate that, using our best technique, 87.7% of the faults under consideration are localized to within 1% of all executed statements, which constitutes an almost five-fold improvement over the Tarantula algorithm.

    摘要翻译: 公开了一种新颖的计算机实现系统,按需服务,计算机程序产品和利用组合的具体和符号执行以及多种故障定位技术的方法来创建一个独特强大的工具,可自动检测故障并定位PHP Web应用程序中的故障。 评估的故障定位技术将Tarantula算法的变化与基于维护执行语句之间的映射及其产生的输出片段,条件结果映射以及函数调用返回值的技术相结合。 这些技术已经在一个名为Apollo的工具中实现,并通过将四个PHP应用程序中自动生成的测试暴露的75个随机选择的故障进行本地化评估。 我们的研究结果表明,使用我们最好的技术,所考虑的故障的87.7%被定位在所有执行语句的1%内,这比Tarantula算法提高了近5倍。

    GENERATING INPUTS FOR CLIENT-SERVER PROGRAMS FOR FAULT DETECTION AND LOCALIZATION
    3.
    发明申请
    GENERATING INPUTS FOR CLIENT-SERVER PROGRAMS FOR FAULT DETECTION AND LOCALIZATION 失效
    为客户服务器程序生成用于故障检测和本地化的程序

    公开(公告)号:US20120151454A1

    公开(公告)日:2012-06-14

    申请号:US12966556

    申请日:2010-12-13

    IPC分类号: G06F9/44

    CPC分类号: G06F11/3684 H04L69/40

    摘要: The present invention provides a system, computer program product, and a computer implemented method for analyzing a set of two or more communicating applications. The method begins with receiving a first second application that communicates with each other during execution. Next, an initial input for executing the first application and the second application is received. The initial input is added to a set of inputs. An iterative execution loop is performed at least once. The loop begins with selecting inputs out of the set of inputs for execution. Next, using the selected inputs, the first and/or the second application is executed while information regarding the execution and information communicated to the other application are recorded. A set of one or more new application inputs for either applications is generated based the second application recorded information and the first application information. These new inputs are added to the set of inputs.

    摘要翻译: 本发明提供了一种系统,计算机程序产品和用于分析一组两个或多个通信应用的计算机实现的方法。 该方法开始于在执行期间接收彼此通信的第一个第二应用程序。 接下来,接收用于执行第一应用和第二应用的初始输入。 初始输入被添加到一组输入。 执行迭代执行循环至少一次。 循环从选择输入集合中的输入开始执行。 接下来,使用所选择的输入,执行第一和/或第二应用,同时记录关于执行的信息和传送给其他应用的信息。 基于第二应用记录信息和第一应用信息生成用于任一应用的一组或多个新的应用输入。 这些新的输入被添加到该组输入。

    GENERATING SPECIFICATIONS OF CLIENT-SERVER APPLICATIONS FOR STATIC ANALYSIS
    4.
    发明申请
    GENERATING SPECIFICATIONS OF CLIENT-SERVER APPLICATIONS FOR STATIC ANALYSIS 失效
    客户服务器应用的静态分析生成规范

    公开(公告)号:US20120102471A1

    公开(公告)日:2012-04-26

    申请号:US12912345

    申请日:2010-10-26

    IPC分类号: G06F9/44 G06F17/30

    CPC分类号: G06F8/30

    摘要: Systems and methods are provided for creating a data structure associated with a software application that is based on at least one framework. According to the method, source code and at least one configuration file of the software application is analyzed by at least one framework-specific processor so as to determine entry point information indicating entry points in the source code, request attribute access information indicating where attributes attached to a request data structure are read and written, and forward information indicating forwards performed by the software application. A data structure for a static analysis engine is created based on this information. The data structure includes a list of synthetic methods that model framework-related behavior of the software application, and a list of entry points indicating the synthetic methods and/or application methods of the software application that can be invoked by the framework.

    摘要翻译: 系统和方法被提供用于创建与基于至少一个框架的软件应用相关联的数据结构。 根据该方法,由至少一个特定于框架的处理器分析软件应用的源代码和至少一个配置文件,以便确定指示源代码中的入口点的入口点信息,指示所附属性的属性访问信息 读取和写入请求数据结构,以及指示由软件应用执行的转发的转发信息。 基于此信息创建静态分析引擎的数据结构。 数据结构包括对软件应用程序的框架相关行为进行建模的综合方法列表,以及指示框架可以调用的软件应用程序的合成方法和/或应用方法的入口点列表。

    FAULT DETECTION AND LOCALIZATION IN DYNAMIC SOFTWARE APPLICATIONS
    5.
    发明申请
    FAULT DETECTION AND LOCALIZATION IN DYNAMIC SOFTWARE APPLICATIONS 有权
    动态软件应用中的故障检测和本地化

    公开(公告)号:US20110016356A1

    公开(公告)日:2011-01-20

    申请号:US12502519

    申请日:2009-07-14

    IPC分类号: G06F11/36 G06F9/44

    摘要: The present invention provides a system, computer program product and a computer implemented method for prioritizing code fragments based on the use of a software oracle and on a correlation between the executed code fragments and the output they produce. Also described is a computer-implemented method generates additional user inputs based on execution information associated with path constraints and based on information from the oracle. Advantageously, the embodiment is useful in a test generation tool that generated many similar inputs when a failure-inducing input is found, in order to enhance fault localization. Further, described is a computer-implemented flow for extending the existing idea of concolic testing to applications that interact with persistent state.

    摘要翻译: 本发明提供了一种系统,计算机程序产品和计算机实现的方法,用于基于使用软件oracle以及所执行的代码片段与其产生的输出之间的相关性对代码片段进行优先级排序。 还描述了一种基于计算机实现的方法,其基于与路径约束相关联的执行信息并且基于来自oracle的信息生成额外的用户输入。 有利地,该实施例对于在发现故障诱导输入时产生许多相似输入的测试生成工具中是有用的,以便增强故障定位。 此外,描述了一种计算机实现的流程,用于将现有的concolic测试思想扩展到与持久状态交互的应用程序。

    GENERATING SPECIFICATIONS FOR EXPRESSION LANGUAGE EXPRESSIONS AND TAG LIBRARIES
    6.
    发明申请
    GENERATING SPECIFICATIONS FOR EXPRESSION LANGUAGE EXPRESSIONS AND TAG LIBRARIES 有权
    表达语言表达和标签图书馆的生成规范

    公开(公告)号:US20130054221A1

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

    申请号:US13222612

    申请日:2011-08-31

    IPC分类号: G06F9/45 G06F17/30

    CPC分类号: G06F17/30 G06F8/75

    摘要: Systems and methods are provided for creating a data structure associated with a software application that is based on at least one framework. According to the method, at least one Java Server Page file associated with the software application is analyzed. The Java Server Page (JSP) file includes at least one call to at least one library tag, and at least one Expression Language (EL) expression. A set of tag library usage information for the JSP file is generated based. The set of tag library usage information includes at least one variable, and a value of the at least one variable created by the at least one call. The EL expression is evaluated based on the variable and the value of the variable. A data structure is created for a static analysis engine based on EL expression. The data structure includes at least one Java expression representing the EL expression.

    摘要翻译: 系统和方法被提供用于创建与基于至少一个框架的软件应用相关联的数据结构。 根据该方法,分析与软件应用程序相关联的至少一个Java服务器页面文件。 Java服务器页面(JSP)文件至少包含一个对至少一个库标签的调用,以及至少一个表达式语言(EL)表达式。 基于JSP文件生成一组标签库使用信息。 所述标签库使用信息集合包括至少一个变量和由所述至少一个呼叫创建的所述至少一个变量的值。 基于变量和变量的值来评估EL表达式。 基于EL表达式为静态分析引擎创建数据结构。 数据结构包括至少一个表达EL表达式的Java表达式。