Patent application number | Description | Published |
20090089757 | Configurable 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 |
20090089759 | System 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 |
20090210212 | Validating One or More Circuits Using One or More Grids - In one embodiment, a method includes simulating by one or more computer systems a larger circuit to assign one or more values to one or more latch variables associated with the larger circuit, generating by the one or more computer systems one or more reduced circuits from the larger circuit according to the values assigned to the latch variables, generating by the one or more computer systems a transition relation (TR) for each reduced circuit, and generating by the one or more computer systems an initial state set for one or more instances of validation on the reduced circuits according to the TRs. | 08-20-2009 |
20100125832 | Using 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 |
20110078556 | CLIENT-TIER VALIDATION OF DYNAMIC WEB APPLICATIONS - In one embodiment, a method includes accessing and crawling a dynamic web application that comprises a client tier. In one embodiment, the crawling includes one or more instances of guided crawling that each initiate when a preceding instance of automatic crawling reaches a state in the dynamic web application that meets one or more predetermined criteria for the instance of guided crawling and, when initiated, perform one or more predetermined actions with respect to the dynamic web application. The method further includes generating, based on the crawling, a screen transition model of the dynamic web application. In a particular embodiment, the screen transition model includes a hierarchical finite state machine (FSM). In one embodiment, after the generation of the screen transition model has completed, the method further includes performing model checking on the screen transition model to validate the client tier of the dynamic web application. | 03-31-2011 |
20110225289 | Determining Differences in an Event-Driven Application Accessed in Different Client-Tier Environments - In one embodiment, a method includes dynamically crawling an event-driven application in a plurality of client-tier environments; for each of the client-tier environments, generating a behavioral model of the event-driven application based on the dynamic crawling; for each of the behavioral models, determining one or more pairwise equivalences with respect to one or more other ones of the behavioral models; and, for each of the client-tier environments, determining one or more differences in an end-user experience of the event-driven application in the client-tier environment with respect to one or more other end-user experiences of the event-driven application in one or more other ones of the client-tier environments. | 09-15-2011 |
20110239104 | Facilitating Automated Validation of a Web Application - In one embodiment, a method includes accessing one or more document object model (DOM) representations of one or more pages of a Web application that comprises one or more instances of a web-application artifact. For each of one or more of the instances, the method also includes identifying a first set of one or more DOM elements in one of the DOM representations of one of the pages that collectively correspond to the instance. The method additionally includes identifying a second set of one or more particular values of one or more particular attributes of one or more particular ones of the DOM elements in the first sets. The second set may then be mapped to the web-application artifact to provide a DOM definition of the web-application artifact. | 09-29-2011 |
20110283147 | Generating Software Application User-Input Data Through Analysis of Client-Tier Source Code - 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. | 11-17-2011 |
20110296314 | Extracting Training Scenarios from Test Cases for User-Interface Component Recognition - In one embodiment, a method includes accessing a set of use cases of a software application and selecting, from the set of use cases, a subset of use cases that has a goodness-to-cost ratio that satisfies a predetermined requirement. Computing the goodness-to-cost ratio for the subset of use cases includes: for each use case from the subset of use cases, computing a second cost as a sum of the first costs associated with the user actions of the use case; computing a third cost as a sum of the second costs; for each user-interface component that is acted upon by at least one of the user actions of at least one of the use cases from the subset of use cases, computing a first goodness measure that indicates a level of user-action coverage that the subset of use cases provides on the user-interface component; computing a second goodness measure as a sum of the first goodness measures; and computing the goodness-to-cost ratio as a ratio between the second goodness measure and the third cost. | 12-01-2011 |
20120210236 | Web Service for Automated Cross-Browser Compatibility Checking of Web Applications - One embodiment presents a user interface to a first user, the user interface being configured to enable the first user to provide user input that: specifies a first web application, and a behavior exploration specification, a plurality of web browsers, and a set of comparison rules for the first web application; requests a plurality of models to be constructed with respect to the web browsers for the first web application based on the behavior exploration specification; requests the models of the first web application to be compared with each other based on the set of comparison rules; and requests one or more results of the comparison performed on the models of the first web application to be presented; and in response to each user input received from the first user, performs one or more operations for the first user. | 08-16-2012 |
20130083996 | Using Machine Learning to Improve Visual Comparison - In some embodiments, information associated with a first plurality of image pairs is received. Each image pair is assessed to detect visual pairwise differences that qualify as an error. A visual pairwise difference may be a difference with respect to at least one of position, size, color, or style. A prediction engine is trained based upon the assessed visual pairwise differences. Information associated with a second plurality of image pairs is received. Each of these image pairs comprises at least a portion of a visual end-user experience screen of an event-driven application executed in a client-tier environment. Each of these image pairs is assessed, using the prediction engine, to detect visual pairwise differences that qualify as an error. User feedback is received, indicating that at least one assessed pairwise difference should not have qualified as an error. The prediction engine is then re-trained based on the user feedback. | 04-04-2013 |
20130268810 | Detection of Dead Widgets in Software Applications - In one embodiment, a user interface includes at least one instance of each of at least one widget. Recording a plurality of widget interaction instances (WIIs) for the user interface, each WII resulting from a user interaction applied to a particular instance of a particular widget. Clustering the plurality of WIIs based on a text value and a path value of each WII, such that each cluster of WIIs is associated with a particular widget. Determining, for each of at least one cluster of WIIs, whether the particular widget associated with the cluster of WIIs is erroneous based on whether user interactions corresponding to the WIIs in the cluster have produced responses from a software application that includes the user interface. | 10-10-2013 |
20140052433 | AUTOMATICALLY EXTRACTING A MODEL FOR THE BEHAVIOR OF A MOBILE APPLICATION - A method of modeling behavior of a mobile application includes determining an action associated with the mobile application based on source code of the mobile application. The method further includes dynamically crawling through the mobile application based on the action and generating a graphical user interface (GUI) behavioral model based on dynamically crawling through the mobile application. | 02-20-2014 |
20140052821 | DETECTION OF CROSS-PLATFORM DIFFERENCES OF WEB APPLICATIONS - A method for detecting a cross-platform difference of a web application may include generating a first relative layout model based on a first relationship between multiple elements of a screen of a web application when the web application is executed on a first platform. The method may further include generating a second relative layout model based on a second relationship between the multiple elements of the screen of the web application when the web application is executed on a second platform. The method may also include determining a difference between the first relationship and the second relationship based on a comparison of the first relative layout model with respect to the second relative layout model. | 02-20-2014 |
20140053134 | SOFTWARE REGRESSION TESTING USING SYMBOLIC EXECUTION - A method of testing software may include accessing first software that includes multiple execution paths and concretely executing the first software using a test case associated with second software to traverse at least a first execution path of the execution paths. The method may also include capturing concrete execution results produced from concretely executing the first software to record the first execution path and symbolically executing the first software using a symbolic input based on the recorded first execution path. | 02-20-2014 |
20140053139 | SYMBOLIC TESTING OF SOFTWARE USING CONCRETE SOFTWARE EXECUTION - A method of testing software may include accessing software that includes multiple execution paths that each include one or more branching points. The method may also include concretely executing the software using multiple concrete inputs to traverse at least two of the execution paths of the software. The method may also include capturing concrete execution results produced from executing the software using the concrete inputs. The method may also include symbolically executing the software using one or more symbolic inputs based on the concrete execution results. | 02-20-2014 |
20140298297 | AUTOMATIC FEATURE-DRIVEN TESTING AND QUALITY CHECKING OF APPLICATIONS - A method of feature-driven testing by one or more computing devices includes determining a graphical user interface (GUI) model of an application, determining an application-independent feature of a platform, augmenting the GUI model to reflect the application-independent feature resulting in an augmented model, and determining a test case from the augmented model. The test case includes the application-independent feature. The application is to be executed on the platform. The GUI model includes states and transitions. | 10-02-2014 |
20150082207 | EXTRACTING A DETERMINISTIC FINITE-STATE MACHINE MODEL OF A GUI BASED APPLICATION - A method of modeling a graphical user interface (GUI) based application as a deterministic finite-state machine may include generating dummy error state and a dummy error output in a finite-state machine. The method may further include modeling a response to an action that is unavailable on a screen of a graphical user interface (GUI) based application as a transition to the dummy error state in the finite-state machine while producing the dummy error output in the finite-state machine. | 03-19-2015 |