Patents Assigned to UNDO LTD.
-
Patent number: 11366740Abstract: 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: GrantFiled: May 26, 2020Date of Patent: June 21, 2022Assignee: Undo Ltd.Inventors: Geoffrey Finn Grimwood, Lee Marshall, Marco Barisione, Mark Williamson, Gregory Edward Warwick Law
-
Patent number: 11030076Abstract: 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: GrantFiled: December 20, 2017Date of Patent: June 8, 2021Assignee: Undo Ltd.Inventors: Gregory Edward Warwick Law, Julian Philip Smith, Thomas Paul Perry, Nicholas Peter Bull, Geoffrey Finn Grimwood
-
Patent number: 10990509Abstract: 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: GrantFiled: May 24, 2019Date of Patent: April 27, 2021Assignee: Undo Ltd.Inventors: Geoffrey Finn Grimwood, Gregory Edward Warwick Law
-
Patent number: 10761966Abstract: 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: GrantFiled: August 30, 2019Date of Patent: September 1, 2020Assignee: Undo Ltd.Inventors: Nicholas Peter Bull, Julian Philip Smith, Gregory Edward Warwick Law
-
Patent number: 10445215Abstract: 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: GrantFiled: July 27, 2017Date of Patent: October 15, 2019Assignee: Undo Ltd.Inventors: Nicholas Peter Bull, Julian Philip Smith, Gregory Edward Warwick Law
-
Patent number: 10331545Abstract: 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: GrantFiled: May 12, 2016Date of Patent: June 25, 2019Assignee: UNDO LTD.Inventors: Julian Philip Smith, Gregory Law
-
Patent number: 9268666Abstract: 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: GrantFiled: December 1, 2011Date of Patent: February 23, 2016Assignee: UNDO LTD.Inventors: Gregory Edward Warwick Law, Julian Philip Smith