Continuous debugging

US10678677B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10678677-B1
Application numberUS-201916244288-A
CountryUS
Kind codeB1
Filing dateJan 10, 2019
Priority dateJan 10, 2019
Publication dateJun 9, 2020
Grant dateJun 9, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Continuous debugging is disclosed. For example, a source code repository stores a first project. A processor is configured to execute a job scheduler, which includes a debugger. The job scheduler receives a request to execute a job, which includes executing a first executable code. A guest is instantiated. The first project is copied as a second project. The second project is compiled into the first executable code. The guest is instructed to execute the job including the first executable code. The debugger intercepts an error caused by executing the first executable code. The debugger updates the second project by inserting a breakpoint into the second project based on the error. The updated second project is compiled into a second executable code. The guest is instructed to re-execute the job including executing the second executable code. Execution of the second executable code is paused at the breakpoint.

First claim

Opening claim text (preview).

The invention is claimed as follows: 1. A system comprising: a source code repository storing a plurality of source code projects, including a first project; a processor configured to execute a job scheduler, which includes a debugger, to: receive a first request to execute a first job, wherein executing the first job includes executing a first executable code; instantiate a first guest; copy the first project to the source code repository as a second project; compile the second project into the first executable code; instruct the first guest to execute the first job including the first executable code; intercept, by the debugger, a first error caused by executing the first executable code; update, by the debugger, the second project by inserting a first breakpoint into the second project based on the first error; compile the updated second project into a second executable code; instruct the first guest to re-execute the first job including executing the second executable code; and pause execution of the second executable code at the first breakpoint. 2. The system of claim 1 , wherein the debugger is configured to: determine a first programming language of the second project, wherein the first breakpoint is inserted in the first programming language. 3. The system of claim 1 , wherein the job scheduler executes in at least one of a continuous integration and a continuous development environment. 4. The system of claim 1 , wherein executing the first job includes executing a third executable code compiled from a third project of the plurality of source code projects, and the third project is written in a different programming language from the first project. 5. The system of claim 4 , wherein executing the third executable code triggers a second error, and the debugger inserts a second breakpoint into one of the third project and a fourth project that is a copy of the third project prior to re-executing the first job. 6. The system of claim 1 , wherein the job scheduler is further configured to: receive a second request to execute a second job different from the first job, wherein executing the second job includes executing the first executable code; instantiate a second guest; compile the first project into the first executable code; instruct the second guest to execute the second job including the first executable code; and upon completion of the second job, reclaim compute resources associated with the second guest by terminating the second guest. 7. The system of claim 1 , wherein the first guest is prevented from being terminated based on the debugger intercepting the first error. 8. The system of claim 1 , wherein the first job includes a plurality of tasks including a first task and a second task, and the first guest imports a result of executing the first task when re-executing the first job rather than re-executing the first task. 9. The system of claim 1 , wherein the updated second project overwrites the second project in the source code repository. 10. The system of claim 1 , wherein the first guest is suspended after pausing execution of the second executable code. 11. A method comprising: receiving, by a job scheduler, a first request to execute a first job, wherein executing the first job includes executing a first executable code; instantiating a first guest; copying a first project stored in a source code repository as a second project in the source code repository; compiling the second project into the first executable code; instructing the first guest to execute the first job including the first executable code; intercepting, by a debugger in the job scheduler, a first error caused by executing the first executable code; updating, by the debugger, the second project by inserting a first breakpoint into the second project based on the first error; compiling the updated second project into a second executable code; instructing the first guest to re-execute the first job including executing the second executable code; and pausing execution of the second executable code at the first breakpoint. 12. A system comprising: a source code repository storing a plurality of source code projects, including a first project; a processor configured to execute a job scheduler, which includes a debugger, to: receive a first request to execute a first job, wherein executing the first job includes executing a first executable code; instantiate a first guest; compile the first project into the first executable code; instruct the first guest to execute the first job including the first executable code; determine, by the debugger, that the first job failed to execute based on a first error executing the first executable code; determine, by the debugger, a first programming language of the first project; update, by the debugger, the first project by inserting a first breakpoint in the first programming language based on the first error; save, by the debugger, the updated first project as a second project in the source code repository; instruct a second guest to execute a second job, wherein the second job is a copy of the first job with the first executable code replaced by a second executable code compiled from the second project; and pause execution of the second job at the first breakpoint in the second executable code. 13. The system of claim 12 , wherein the first guest executes in at least one of a continuous integration and a continuous development environment. 14. The system of claim 12 , wherein executing the first job includes executing a third executable code compiled from a third project of the plurality of source code projects, and the third project is written in a different programming language from the first project. 15. The system of claim 14 , wherein executing the third executable code triggers a second error, and the debugger inserts a second breakpoint into one of the third project and a fourth project that is a copy of the third project prior to re-executing the first job. 16. The system of claim 12 , wherein the job scheduler is further configured to: receive a second request to execute a third job different from the first job, wherein executing the third job includes executing the first executable code; instantiate a third guest; compile the first project into the first executable code; instruct the third guest to execute the second job including the first executable code; and upon completion of the second job, reclaim compute resources associated with the third guest by terminating the third guest. 17. The system of claim 12 , wherein the first guest is prevented from being terminated after failing to execute the first job, and the second guest is the first guest. 18. The system of claim 17 , wherein the first job includes a plurality of tasks including a first task and a second task, and the first guest imports a result of executing the first task when executing the second job rather than re-executing the first task. 19. The system of claim 12 , wherein a copy of the first project is saved as part of a first configuration of the first job, and the first configuration of the first job is overwritten by a second configuration of the second job with a copy of the second project replacing the copy of the first project. 20. The system of claim 12 , wherein the second guest is suspended after pausing execution of the second executable code.

Assignees

Inventors

Classifications

  • by performing operations on the source code, e.g. via a compiler · CPC title

  • Compilation · CPC title

  • by instrumenting at runtime · CPC title

  • Physics · mapped topic

  • Environments for analysis, debugging or testing of software · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10678677B1 cover?
Continuous debugging is disclosed. For example, a source code repository stores a first project. A processor is configured to execute a job scheduler, which includes a debugger. The job scheduler receives a request to execute a job, which includes executing a first executable code. A guest is instantiated. The first project is copied as a second project. The second project is compiled into the …
Who is the assignee on this patent?
Red Hat Israel Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/3664. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 09 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).