Inventors list

Assignees list

Classification tree browser

Top 100 Inventors

Top 100 Assignees


Indradeep Ghosh, San Jose US

Indradeep Ghosh, San Jose, CA US

Patent application numberDescriptionPublished
20090089757Configurable Web Services System and a Method to Detect Defects in Software Applications - 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.04-02-2009
20090089759System and Method for Providing Symbolic Execution Engine for Validating Web Applications - 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.04-02-2009
20100125832Using Symbolic Execution to Check Global Temporal Requirements in an Application - 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.05-20-2010
20100223599EFFICIENT SYMBOLIC EXECUTION OF SOFTWARE USING STATIC ANALYSIS - 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.09-02-2010
20100242029Environment Data Refinement Based on Static Analysis and Symbolic Execution - In particular embodiments, an environment for modular software analysis is generated for a software module under analysis. Irrelevancy analysis is performed on the software module to determine that, for each input datum to the software module, whether the input datum is relevant or irrelevant with respect to branch coverage of the module code. A default concrete value is assigned to each irrelevant input datum. A set of concrete values is calculated for each relevant input datum using symbolic execution. The environment is enhanced such that default concrete values are passed to the software module for the irrelevant input data and sets of concrete values generated using symbolic execution are passed to the software module for the relevant input data. The enhanced environment enables module analysis with as much as 100% branch coverage of the module code.09-23-2010
20110225568Providing Software Validation as a Service - In one embodiment, a method includes accessing an event-driven application input by a user, the event-driven application comprising source code, one or more use cases input by the user for the event-driven application, and one or more functional requirements input by the user for the event-driven application; parsing the use cases and the functional requirements according to the predefined syntax to construct one or more validation modules for validating the event-driven application without any modification to the source code of the event-driven application for validation purposes; formally validating the event-driven application using the validation modules without relying on assertions inserted into the source code of the event-driven application for validation purposes; and if the formal validation finds one or more defects in the event-driven application, generating output for communication to the user identifying the defects.09-15-2011
20110289488Generating Test Sets Using Intelligent Variable Selection and Test Set Compaction - In one embodiment, constructing one or more sets of variables corresponding to one or more input variables of a software module respectively; for each one of the sets of variables, computing an average branching depth that is affected by the set of variables; selecting a first one of the sets of variables that has the smallest average branching depth; assigning a first symbolic value to the input variable of the first set of variables; symbolically executing the software module to generate a first set of test cases for the first set of variables; optionally compacting the first set of test cases by removing the redundant tests that do not increase test coverage and selecting a minimal subset of the first set of test cases that cover all the covered conditional branch points; and validating the software module using the first set of test cases.11-24-2011

Patent applications by Indradeep Ghosh, San Jose, CA US