摘要:
System and method for recommending static analysis fixes in a computer program include: receiving violations from a static analysis tool and the meta data related to the violations; for each violation, encoding a code snippet in which said each violation is located into a first vector and encoding meta-data associated with each violation into a second vector; for each violation, concatenating the first vector and the second vector into a single vector; generating a utility matrix from the single vectors, where values in each cell correspond to a certain user's action on one of the violations; revising the utility matrix, based on user selection of selected violations of the plurality of violations; and executing a matrix factorization process to build intermediate representations of users and sets of violations to update the utility matrix as an updated utility matrix to obtain predictions for missing values, as recommendation to the user.
摘要:
Computer-implemented method for improving the test results of a static code analyzer includes: receiving a plurality of test violations from the static code analyzer; constructing a first vector for each code snippet containing error candidates; constructing a second vector for each test violation from meta-data associated with said each test violation; merging the first vector with the second vector to produce a feature vector for each test violation; and applying statistical learning techniques to each feature vector to estimate a probability that an error candidate in the plurality of test violations is a true error or a false positive.
摘要:
A system and method for collecting and correlating information about development of a computer software, including software tools reports. The system and method provides overview of entire software development lifecycle, provides decision support engine for project management, allows estimation of project timelines based upon empirical data, allows evaluation of project quality based upon empirical data, and correlates information from previous projects to estimate progress of current project (confidence factors). The system and method for collecting and correlating information about development of a computer software include collecting data from a plurality of software tools during each point in lifecycle of the computer software; storing the collected data in a database; and correlating the stored collected data to monitor the development of the computer software.
摘要:
A method and system for regression testing of a computer software. The method and system execute the software for a first time to create a first data set; execute the software for a second time after the first time to create a second data set; compare the two data sets to determine differences between the two data sets; and store the differences as allowable differences to be ignored in a subsequent regression testing of the software.
摘要:
In one embodiment, the present invention is a method for automatically preventing errors in computer software. The method includes storing the computer software in a code repository; executing a plurality of software verification tools to verify the computer software, wherein each of the plurality of software verification tools automatically generates one or more test cases; generating verification results responsive to executing the plurality of software verification tools and the automatically generated test cases; processing the verification results for generating an objective criterion of quality of the computer software; and customizing the scope of one or more of the plurality of verification tools responsive to the objective criterion of quality of the computer software.
摘要:
The present invention is a module testing tool for Web services. In one embodiment, the present invention automates the testing of Web services that use SOAP as a wire protocol and HTTP as a transport protocol. The invention provides an easy interface for exercising Web services and testing their functionality. The invention helps users confirm the responses to SOAP messages with such features as fault detection, textual comparisons, XML validation by DTDs or XML Schemas, and the ability to express and flag complex patterns in XML. The invention lets the users validate responses that require application-specific verification (such as business logic validation) by plugging in their own code. It also provides the capability to perform regression testing of web services. The invention can automatically creates regression test controls from SOAP Client responses, or users can create their own regression tests.
摘要:
System and method for creating unit tests include: constructing a CFG representation for a computer program; utilizing the CFG to identify different potential execution paths and to identify different formulas corresponding to the different potential execution paths; parsing the source code to generate an abstract syntax tree; analyzing the computer program to determine whether it provides capability to set each of the associated variables in each formula by utilizing the abstract syntax tree; translating variables, fields, and expressions of the source code represented in each formula into decision variables; computing a solution to the list of pre-conditions from each formula to one of the potential solutions that specifies values for decision variables; selecting a formula, from the plurality of formulas, with a fewest number of associated variables; and creating a unit test, based on the data and the list of pre-conditions collected and solved.
摘要:
System and method for element locator recommendations for testing a UI application include: executing tests; monitoring tests and observing which commands are called by each test to generate monitored data, where the monitored data includes which tests were executed, element locators that were used in the tests, relevant commands that were called by each test and related to the element locators that were used in the tests, and information about the UI application during the test execution; storing the monitored data; analyzing the stored monitored data; producing a set of recommended element locators to be used in place of previously used element locators for which the elements were not found during the execution of the tests; and utilizing the set of recommended element locators to complete the testing of the UI application software.
摘要:
A computer implemented method for monitoring an overall health of a software project. The method includes: providing a plurality of business process checkers; storing a plurality of criteria, wherein each of the plurality of criteria measures an aspect of the software project process; storing an upper bound parameter and a lower bound parameter for each business process checker; assimilating data from one or more data sources related to aspects of the software project process; calculating, by each business process checker, a score for each criterion responsive to said upper bound and lower bound parameters and said data from said one or more data sources; calculating an overall health score for the software project from each calculated score for each criterion; and displaying an indication of the overall health of the software project responsive to the calculated overall health score.
摘要:
A method and system for testing a physical system including a number of input channels for receiving physical inputs, using load testing, comprising: intercepting at least a portion of the input channels; replacing at least a portion of the physical inputs of the intercepted input channels with one or more emulation programs, wherein the emulation programs include parameters which allow to control outputs of the one or more emulation programs to the intercepted input channels; configuring a functional test in a load testing software tool to drive execution of the one or more emulation programs; randomly generating outputs simulating the physical inputs, from the one or more emulation programs, by executing the load testing software tool; collecting data from the execution of the one or more emulation programs as the load testing software tool executes; and analyzing the collected data for presence or absence of deadlocks or race conditions.