摘要:
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.
摘要:
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.
摘要:
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.
摘要:
A method for verifying a digital system design is provided. A first abstraction of a digital system design is performed to obtain an abstract model of the digital system design. One or more first steps of a multiple-step model checking process are performed using the abstract model, the multiple-step model checking process being operable to verify the digital system design. During the multiple-step model checking process, a second abstraction is performed to refine the abstract model. One or more second steps of the multiple-step model checking process are then performed using the refined abstract model.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.