Patents Assigned to Parasoft Corporation
-
Patent number: 11921621Abstract: 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.Type: GrantFiled: August 27, 2021Date of Patent: March 5, 2024Assignee: PARASOFT CORPORATIONInventors: Maciej Głowa, Nathan Michael Jakubiak, Michał Rozenau, Marcin Strojny, Piotr Grzesik, Michał Kusmierczyk
-
Patent number: 11836068Abstract: 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.Type: GrantFiled: January 12, 2022Date of Patent: December 5, 2023Assignee: PARASOFT CORPORATIONInventors: Leszek Jerzy Raszka, Leonid Borodaev
-
Patent number: 11656976Abstract: 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.Type: GrantFiled: April 2, 2021Date of Patent: May 23, 2023Assignee: PARASOFT CORPORATIONInventors: Nathan Michael Jakubiak, Anthony David Yoshicedo, Joseph Adam Benken
-
Patent number: 11507495Abstract: System and method for testing changes to binary code of a computer program include: collecting test coverage data from an executed set of tests of an original computer program; calculating a baseline report containing correlations between the executed set of tests and blocks of binary code of the original computer program; determining binary code changes between the original computer program and a modified version of the computer program; identifying one or more tests to be executed for verifying the binary code changes.Type: GrantFiled: June 3, 2021Date of Patent: November 22, 2022Assignee: PARASOFT CORPORATIONInventors: Jacek Marzec, Nathan Michael Jakubiak
-
Patent number: 11385988Abstract: 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.Type: GrantFiled: July 22, 2020Date of Patent: July 12, 2022Assignee: PARASOFT CORPORATIONInventors: Leszek Jerzy Raszka, Leonid Borodaev
-
Patent number: 10248545Abstract: A method for tracking high-level source attribution of a generated assembly language code includes: receiving commands for compiling or linking a high-level language code; analyzing the received commands to determine whether a command is a compiler command for compiling the high-level language code or a link command for linking the low level object code; when the command is a compiler command: generating assembly language code by compiling the high-level language code, parsing the generated assembly language code to generate an internal representation for the assembly language code, storing the internal representation in a computer memory; and generating associated linker input artifacts for linking; when the command is a link command: updating the internal representation with the associated linker input artifacts; and generating a report file from the updated internal representation.Type: GrantFiled: December 28, 2016Date of Patent: April 2, 2019Assignee: PARASOFT CORPORATIONInventors: Daniel J. Dominguez, Joshua William Scoggins, Richard Kent Newman, Uwe Samitsch Kronholm
-
Patent number: 9697109Abstract: Method for generating dynamically configurable test doubles for software testing includes: detecting functions or methods invocations in a source code under test; collecting information about parameters and return types of one or more of original functions and original methods that are invoked by the source code under test, generating test doubles using source code with alternative definitions based on collected information; instrumenting the source code under test to replace the calls to one or more of original functions and methods with calls to the generated test doubles; and dynamically configuring runtime behavior of the generated test doubles, where all input parameters and return values of the one or more of original functions and original methods are provided to respective retrieved trigger objects by passing said input parameters and return values as arguments to function calls.Type: GrantFiled: May 11, 2015Date of Patent: July 4, 2017Assignee: Parasoft CorporationInventors: Marek Kucharski, Elizabeth Kolawa, Piotr Pepek, Patrycjusz Franczak, Jakub Labenski, Miroslaw Zielinski
-
Patent number: 9672481Abstract: 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.Type: GrantFiled: October 20, 2010Date of Patent: June 6, 2017Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Sang Uk Seong, Marek Kucharski, Neel Deepak Gandhi, Wayne P. Ariola, Jr., William C. McCusker, III, Jason R. Schadewald, Daniel J. Dominguez
-
Patent number: 8732676Abstract: A method and system for testing a computer software system based on execution paths including: executing the computer program to obtain an execution path in the computer software; recording the execution path; modifying variables in the recorded execution path to create one or more perturbed paths; analyzing the one or more perturbed paths to detect potential errors; and generating unit tests for the one or more perturbed paths having the detected potential errors. The created test units may then be executed to test the computer software.Type: GrantFiled: August 29, 2008Date of Patent: May 20, 2014Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Marek Kucharski
-
Patent number: 8656364Abstract: A method for enforcing business rules in a computer program, using static analysis. The method includes: storing a plurality of business rules corresponding to a plurality of business processes representing a behavior of an enterprise; parsing a representation of business processes in the computer program to create a parse tree; extracting execution paths from the parse tree; creating control flow graphs and data flow graphs from the extracted execution paths, wherein the created control flow graphs and data flow graphs adhere to one or more of the stored business rules; following the created control flow graphs and data flow graphs; applying said one or more of the stored business rules to the created control flow graphs and data flow graphs; and reporting whether any of the applied rules is violated.Type: GrantFiled: April 12, 2011Date of Patent: February 18, 2014Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Wayne P. Ariola, Jr., Daniel J. Dominguez
-
Patent number: 8510716Abstract: A system and method for simultaneously validating a client-server software application from a client side and a server side, the client-server software application having a client application and a server application. The method and system include: defining a test case to exercise or emulate the client application; specifying validations to be made against server-side state in the defined test case; controlling a monitoring program to monitor the server application and collect information about the server-side state; executing the defined test case to exercise the server application through the client or a client emulator; processing the collected information; simultaneously performing validation tests against the collected information about the server-side state and against the client application or outputs from the server; and reporting results of the validation tests.Type: GrantFiled: November 14, 2007Date of Patent: August 13, 2013Assignee: Parasoft CorporationInventors: Nathan Michael Jakubiak, Jeehong Min
-
Patent number: 8448148Abstract: 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.Type: GrantFiled: April 5, 2011Date of Patent: May 21, 2013Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Nathan M. Jakubiak, Mark L. Lambert, Wilhelm Haaker, Neel Gandhi
-
Patent number: 8205191Abstract: A method and system for assessing effect of a change in a computer software including a plurality of requirements and a plurality of test cases. The method and system include: changing a requirement from the plurality of requirements; correlating the computer software with the changed requirement to identify a portion of the computer software that is affected by the changed requirement; and correlating one or more of the test cases with the portion of the computer software that is affected to identify one or more of the test cases that is affected by the changed requirement. Additionally, the computer software may be changed and the effect of that change on the requirements and the test cases may then be determined.Type: GrantFiled: April 23, 2007Date of Patent: June 19, 2012Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Wayne P. Ariola, Jr., Marek Michal Pilch
-
Patent number: 8127275Abstract: A system and method for recording a state of an object in a computer program being tested. The system and method include: identifying an object having a plurality of fields, each field having a value; executing the computer program including a unit test; recording the values of each field of the identified object; generating assertions for the unit test from the recorded values of each field of the identified object; and inserting the generated assertions into the unit test. The computer program including the unit test having the generated assertions may be re-executed to verify the assertions. Furthermore, the unit test having the generated assertions may be modified and the computer program including the modified unit test having the generated assertions re-executed to generate new assertions.Type: GrantFiled: February 25, 2008Date of Patent: February 28, 2012Assignee: Parasoft CorporationInventors: Haripriyan Hampapuram, Roberto Scaramuzzi
-
Patent number: 8032863Abstract: 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.Type: GrantFiled: November 17, 2005Date of Patent: October 4, 2011Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Wendell T. Hicken, Arthur R. Hicken, Marek Kucharski, Marek Michal Pilch
-
Patent number: 8001532Abstract: A method and system for generating source code-based test cases for a remote application. The method and system include storing a table including mapping between user-inputs and a corresponding source code fragment; recording user's actions in the remote application by a test tool; accessing the table to locate corresponding source code fragments for the recorded user's actions; retrieving the corresponding source code fragments to generate source code-based test cases; compiling the source code-based test cases; and executing the compiled source code-based test cases outside of the test tool.Type: GrantFiled: November 9, 2006Date of Patent: August 16, 2011Assignee: Parasoft CorporationInventors: Nathan Michael Jakubiak, Marek Kucharski
-
Patent number: 7908590Abstract: A system and method for generating test cases for a computer program. The method and system include invoking execution of the computer program via a remote client and monitoring the execution of the computer program. Information about execution path of the computer program is collected and then the execution of the computer program is stopped via the remote client. One or more test cases are then generated utilizing the collected information. In one embodiment, the remote client is a computer test tool and the computer program is a web application.Type: GrantFiled: November 13, 2006Date of Patent: March 15, 2011Assignee: Parasoft CorporationInventors: Jeehong Min, Matthew David Love, Wayne P. Ariola, Jr.
-
Patent number: 7904802Abstract: A method and system for efficient code review performed during the software development. The method and system include storing information about a plurality of authors and reviewers; detecting code to be reviewed by analyzing a code repository with respect to recent code modifications; creating a code review invitation according to the stored information about a plurality of authors and reviewers; distributing the code review invitation to a respective reviewer; recording comments for review code from the respective reviewer; measuring coverage of the reviewed code; applying metrics to the code review invitations and the comments; measuring code review characteristics based on the applied metrics.Type: GrantFiled: November 13, 2006Date of Patent: March 8, 2011Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Marek Kucharski
-
Patent number: 7900193Abstract: A system and method for identifying errors in a computer software include: identifying a potential problem in the computer software; triggering a portion of the computer software by the identified potential problem; determining a control flow graph and a data flow graph for the triggered portion of the computer software originating at the identified potential problem; and analyzing the control flow graph and the data flow graph to verify that the identified potential problem is an actual error. The potential problem may be identified using test tools such as a static analysis tool or a unit test tool.Type: GrantFiled: November 7, 2006Date of Patent: March 1, 2011Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Marek Kucharski
-
Patent number: 7877780Abstract: A method and system for enforcing functionality in computer software through policy including converting a natural language policy to sample code, wherein the natural language policy is represented by logical patterns; creating one or more static analysis rules from the sample code to enforce the natural language policy at a centralized location of the computer software; and enforcing the created one or more static analysis rules for the computer software.Type: GrantFiled: February 10, 2006Date of Patent: January 25, 2011Assignee: Parasoft CorporationInventors: Adam K. Kolawa, Alexander Z. Smolen, Marek M. Pilch, Wayne P. Ariola, Jr.