Patents Assigned to UNDO LTD.
  • Patent number: 11366740
    Abstract: There is provided a method for debugging errors in a shared memory. The method comprises executing instrumented machine code of a plurality of processes to generate a recorded execution of each of the plurality of processes for deterministic replay of the recorded execution. The method further comprises logging accesses to the shared memory by each of the plurality of processes in a shared memory log for debugging errors in the shared memory by analysing the recorded executions and the shared memory log. The shared memory log is accessible by each of the plurality of processes.
    Type: Grant
    Filed: May 26, 2020
    Date of Patent: June 21, 2022
    Assignee: Undo Ltd.
    Inventors: Geoffrey Finn Grimwood, Lee Marshall, Marco Barisione, Mark Williamson, Gregory Edward Warwick Law
  • Patent number: 11030076
    Abstract: A method of generating an output log for analysis of a computer program, the method comprising: receiving a recording of an execution of the program; receiving an additional print instruction to print a value of a data item and an indication of a point in the program at which the additional print instruction is to be evaluated; determining a corresponding point in the recording of the execution based upon the indication of the point in the program; and evaluating the additional print instruction based upon the recording of the execution and the determined corresponding point to determine an output of the additional print instruction for insertion into the output log.
    Type: Grant
    Filed: December 20, 2017
    Date of Patent: June 8, 2021
    Assignee: Undo Ltd.
    Inventors: Gregory Edward Warwick Law, Julian Philip Smith, Thomas Paul Perry, Nicholas Peter Bull, Geoffrey Finn Grimwood
  • Patent number: 10990509
    Abstract: There is provided a system for debugging a computer program comprising computer readable program code. The system comprises, debugging data indicating an execution of the computer program, first and second user devices, configured to display a first and second graphical user interface respectively, each graphical user interface comprising data indicative of an execution of a debugger processing the debugging data. The first and second graphical user interfaces are each configured to display data indicative of a temporal position of the execution of the computer program associated with the other one of said graphical user interfaces, and display data indicative of a position within the computer readable program code associated with the other one of said graphical user interfaces.
    Type: Grant
    Filed: May 24, 2019
    Date of Patent: April 27, 2021
    Assignee: Undo Ltd.
    Inventors: Geoffrey Finn Grimwood, Gregory Edward Warwick Law
  • Patent number: 10761966
    Abstract: A method of generating program analysis data for analysing the operation of a computer program. The method comprises, executing an instrumented process of the computer program to define a reference execution of the program, intercepting a call to a library function by the instrumented process, executing the library function in an uninstrumented process, for the uninstrumented process, capturing in a log, only data generated by or modified through the execution of the library function required by the instrumented process to continue execution of the program, and wherein the captured log is arranged to enable deterministically reproducing the effect of the library function call on the instrumented process upon re-running of the reference execution based upon the captured log to generate the program analysis data.
    Type: Grant
    Filed: August 30, 2019
    Date of Patent: September 1, 2020
    Assignee: Undo Ltd.
    Inventors: Nicholas Peter Bull, Julian Philip Smith, Gregory Edward Warwick Law
  • Patent number: 10445215
    Abstract: A method of generating program analysis data for analyzing the operation of a computer program. The method comprises, executing an instrumented process of the computer program to define a reference execution of the program, intercepting a call to a library function by the instrumented process, executing the library function in an uninstrumented process, for the uninstrumented process, capturing in a log, only data generated by or modified through the execution of the library function required by the instrumented process to continue execution of the program, and wherein the captured log is arranged to enable deterministically reproducing the effect of the library function call on the instrumented process upon re-running of the reference execution based upon the captured log to generate the program analysis data.
    Type: Grant
    Filed: July 27, 2017
    Date of Patent: October 15, 2019
    Assignee: Undo Ltd.
    Inventors: Nicholas Peter Bull, Julian Philip Smith, Gregory Edward Warwick Law
  • Patent number: 10331545
    Abstract: A method of generating program analysis data for analyzing operation of a computer program includes running a first instrumented version of machine code representing the program, the running defines a reference execution of the program, and capturing a log of non-deterministic events during the reference execution such that the machine code can be re-run in a deterministic manner to reproduce states of a processor and memory during the re-running. The method also includes generating a second instrumented version of the machine code including instrumented machine code to replay execution of the machine code representing the program and to capture and store program state information during the replayed execution, the program state information includes one or both of one or more values of registers of the processor and one or more values of memory locations used by the program.
    Type: Grant
    Filed: May 12, 2016
    Date of Patent: June 25, 2019
    Assignee: UNDO LTD.
    Inventors: Julian Philip Smith, Gregory Law
  • Patent number: 9268666
    Abstract: We describe techniques which relate to bi-directional, in particular backwards, debugging of computer programs. Thus we describe identifying processes with shared memory access, such as threads or multicore processes, by arranging process (thread) memory ownership to deliberate provoke memory page faults to identify and handle concurrent memory access by multiple threads in such a manner as to enable deterministic replay, and hence backwards debugging.
    Type: Grant
    Filed: December 1, 2011
    Date of Patent: February 23, 2016
    Assignee: UNDO LTD.
    Inventors: Gregory Edward Warwick Law, Julian Philip Smith