Patents Assigned to Parasoft Corporation
  • Patent number: 10248545
    Abstract: 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: Grant
    Filed: December 28, 2016
    Date of Patent: April 2, 2019
    Assignee: PARASOFT CORPORATION
    Inventors: Daniel J. Dominguez, Joshua William Scoggins, Richard Kent Newman, Uwe Samitsch Kronholm
  • Patent number: 9697109
    Abstract: 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: Grant
    Filed: May 11, 2015
    Date of Patent: July 4, 2017
    Assignee: Parasoft Corporation
    Inventors: Marek Kucharski, Elizabeth Kolawa, Piotr Pepek, Patrycjusz Franczak, Jakub Labenski, Miroslaw Zielinski
  • Patent number: 9672481
    Abstract: 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: Grant
    Filed: October 20, 2010
    Date of Patent: June 6, 2017
    Assignee: Parasoft Corporation
    Inventors: 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: 8732676
    Abstract: 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: Grant
    Filed: August 29, 2008
    Date of Patent: May 20, 2014
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Marek Kucharski
  • Patent number: 8656364
    Abstract: 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: Grant
    Filed: April 12, 2011
    Date of Patent: February 18, 2014
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Wayne P. Ariola, Jr., Daniel J. Dominguez
  • Patent number: 8510716
    Abstract: 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: Grant
    Filed: November 14, 2007
    Date of Patent: August 13, 2013
    Assignee: Parasoft Corporation
    Inventors: Nathan Michael Jakubiak, Jeehong Min
  • Patent number: 8448148
    Abstract: 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: Grant
    Filed: April 5, 2011
    Date of Patent: May 21, 2013
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Nathan M. Jakubiak, Mark L. Lambert, Wilhelm Haaker, Neel Gandhi
  • Patent number: 8205191
    Abstract: 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: Grant
    Filed: April 23, 2007
    Date of Patent: June 19, 2012
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Wayne P. Ariola, Jr., Marek Michal Pilch
  • Patent number: 8127275
    Abstract: 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: Grant
    Filed: February 25, 2008
    Date of Patent: February 28, 2012
    Assignee: Parasoft Corporation
    Inventors: Haripriyan Hampapuram, Roberto Scaramuzzi
  • Patent number: 8032863
    Abstract: 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: Grant
    Filed: November 17, 2005
    Date of Patent: October 4, 2011
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Wendell T. Hicken, Arthur R. Hicken, Marek Kucharski, Marek Michal Pilch
  • Patent number: 8001532
    Abstract: 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: Grant
    Filed: November 9, 2006
    Date of Patent: August 16, 2011
    Assignee: Parasoft Corporation
    Inventors: Nathan Michael Jakubiak, Marek Kucharski
  • Patent number: 7908590
    Abstract: 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: Grant
    Filed: November 13, 2006
    Date of Patent: March 15, 2011
    Assignee: Parasoft Corporation
    Inventors: Jeehong Min, Matthew David Love, Wayne P. Ariola, Jr.
  • Patent number: 7904802
    Abstract: 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: Grant
    Filed: November 13, 2006
    Date of Patent: March 8, 2011
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Marek Kucharski
  • Patent number: 7900193
    Abstract: 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: Grant
    Filed: November 7, 2006
    Date of Patent: March 1, 2011
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Marek Kucharski
  • Patent number: 7877780
    Abstract: 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: Grant
    Filed: February 10, 2006
    Date of Patent: January 25, 2011
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Alexander Z. Smolen, Marek M. Pilch, Wayne P. Ariola, Jr.
  • Patent number: 7721154
    Abstract: A method and system for run time testing of a computer software application. The method and system include attaching a RAS agent to the application to be tested; running the application with the attached RAS agent; configuring the RAS agent to monitor a component of the application, while the application is being executed to collect results; exercising the application to perform a task; and validating the collected results while the task is being performed by the application. The RAS agent may be configured (for example, remotely) to modify behavior of the component of the application, while the application is being executed.
    Type: Grant
    Filed: September 4, 2007
    Date of Patent: May 18, 2010
    Assignee: Parasoft Corporation
    Inventors: Rami Jaamour, Jeehong Min, Thomas Macario Pasana Tabanao
  • Patent number: 7680752
    Abstract: An integration platform for managing long term processes. The platform includes a runtime engine that manages the process instances and communication with the processes to provide Web services. The runtime engine includes an execution engine module and a prediction module. The prediction module generates predictions for executing processes for inbound and outbound messages and eventual process outcomes. The predictions may be utilized when requisite data is unavailable or under defined circumstances. The prediction module utilizes process history, process description and process state data to generate relevant prediction data. The prediction module may include a learning module that applies analytical algorithms to the process history and descriptions to create models for use by the prediction module.
    Type: Grant
    Filed: January 6, 2006
    Date of Patent: March 16, 2010
    Assignee: Parasoft Corporation
    Inventors: James Edmond Clune, III, Daniel John Dominguez
  • Patent number: 7620939
    Abstract: 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.
    Type: Grant
    Filed: February 28, 2006
    Date of Patent: November 17, 2009
    Assignee: Parasoft Corporation
    Inventor: Nathan Michael Jakubiak
  • Patent number: 7596778
    Abstract: 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.
    Type: Grant
    Filed: July 3, 2003
    Date of Patent: September 29, 2009
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Wendell T. Hicken, Arthur R. Hicken, Marek Kucharski, Gary Alan Brunnell
  • Patent number: 7392507
    Abstract: A system and method for facilitating and simplifying testing and debugging of computer programs. is described A computer program is broken down to smaller components, such as, classes, functions, or objects, and then those smaller components are tested individually. Accordingly, specific aspects of the computer program can be effectively tested. The user can automatically perform a range of tests on a class or method when the class or method is compiled without integrating the class or method into a larger project.
    Type: Grant
    Filed: December 20, 2004
    Date of Patent: June 24, 2008
    Assignee: Parasoft Corporation
    Inventors: Adam K. Kolawa, Chad E. Byers