How to Make Software Debugging Consistent Using Object Finalization Control
A method for virtual machines to pause and precisely replay the cleanup of computer objects, ensuring that debugging logs match the original program execution exactly.
Original patent title: “Ensuring determinism during programmatic replay in a virtual machine”
A method for virtual machines to pause and precisely replay the cleanup of computer objects, ensuring that debugging logs match the original program execution exactly. Granted to CA Inc in 2017 with 16 claims and 4 forward citations.
Key facts
Coverage
What does this patent actually cover?
When a program runs, it creates and deletes objects in memory. The process of deleting these objects, called finalization, often happens at unpredictable times because it depends on the virtual machine's internal schedule. This patent describes a way to intercept the finalization process by modifying the 'Finalizer' class. It forces the system to pause the deletion of an object, record exactly when it should have been deleted, and hold it in memory until the replay system decides it is the right time to finish the job. This ensures that when a developer replays a recorded session to find a bug, the timing of object cleanup is identical to the original run.
The gap
What does this patent NOT cover?
- Does not cover general memory management or garbage collection outside of the specific context of programmatic replay.
- Does not cover hardware-level memory protection or physical RAM management.
- Does not cover non-deterministic systems that do not utilize a replay core or similar recording mechanism.
These exclusions are unique to PatentBrief — derived from the actual claim language, not patent-office boilerplate.
What made this novel
It turns the unpredictable nature of garbage collection into a controlled, staged event by injecting a 'wait' state into the object's own finalization logic, effectively tricking the virtual machine into deferring cleanup until the replay engine is ready.
Schematic visualization of the patent's claim structure. Hand-drawn diagrams in progress for each landmark patent.
Where you've seen this
Real-world examples
Java Virtual Machine (JVM) debugging tools
Enterprise application performance monitoring suites
Software record-and-replay debuggers for distributed systems
Why it matters
The bigger picture
Debugging complex software is difficult when the timing of events changes every time you run the code. By forcing deterministic behavior on object cleanup, this technology allows engineers to recreate exact failure states in a controlled environment. It is particularly useful for enterprise software where intermittent crashes are expensive and difficult to diagnose.
Filed
April 22, 2014
Granted
March 28, 2017
Market context
Who's building on this
Companies in this space
The technology is largely associated with CA Inc (now part of Broadcom). The core concepts of deterministic replay are actively used by companies building advanced observability and debugging platforms for cloud-native applications, such as those working on distributed tracing and stateful application recovery.
Market impact
This patent provides a technical foundation for high-fidelity debugging tools. It helps bridge the gap between 'black box' software execution and reproducible testing, enabling more reliable maintenance of large-scale enterprise software systems by reducing the time spent chasing non-deterministic bugs.
Claim 1 — Plain English
What this patent covers
When a program runs, it creates and deletes objects in memory. The process of deleting these objects, called finalization, often happens at unpredictable times because it depends on the virtual machine's internal schedule. This patent describes a way to intercept the finalization process by modifying the 'Finalizer' class. It forces the system to pause the deletion of an object, record exactly when it should have been deleted, and hold it in memory until the replay system decides it is the right time to finish the job. This ensures that when a developer replays a recorded session to find a bug, the timing of object cleanup is identical to the original run.
The clever bit
It turns the unpredictable nature of garbage collection into a controlled, staged event by injecting a 'wait' state into the object's own finalization logic, effectively tricking the virtual machine into deferring cleanup until the replay engine is ready.
What it does not cover
- Does not cover general memory management or garbage collection outside of the specific context of programmatic replay.
- Does not cover hardware-level memory protection or physical RAM management.
- Does not cover non-deterministic systems that do not utilize a replay core or similar recording mechanism.
Patent timeline
Application submitted to the patent office
Application published, typically 18 months after filing
Patent officially issued
PatentBrief Score
Impact Score
Early stage
Citation count
14/40
Early citations
Claim breadth
11/20
Broad claimsclaimsThe numbered statements at the end of a patent that legally define what the inventor owns.Read more →
Recency
10/20
Granted 5–10 years ago
Assignee scale
0/20
Independent or smaller assigneeassigneeThe entity that owns the patent — usually the inventor's employer or a company.Read more →
PatentBrief Impact Score — based on citation count, claim breadth, recency, and assignee scale. Not a legal assessment.
Heuristic Value Estimate
What this patent might be worth
$78K – $250K
Midpoint $156K · 7.9 yr remaining · industry ×1.6
Heuristic only — blends forward/backward citation counts, claim scope, time remaining, litigation history, and CPC-derived industry baseline. Real valuations need a professional appraisal.
The original legal language
Original claims
16 claims as filed with the patent office.
Concepts involved
Citations
Patent lineage
Cite this patent
Daudel, J., Jakab, A., Justice, M., Cherukuri, S., Singh, D., Lindo, J., & Yeverino, H. (2017). How to Make Software Debugging Consistent Using Object Finalization Control (U.S. Patent No. 9,606,820). U.S. Patent and Trademark Office. https://patentbrief.org/patent/us/9606820/windows-subsystem-for-linux-wsl
Auto-generated from the patent record. Double-check author order and the issue date against the official USPTO document before submitting.
Embed
Add this patent to your site
Drop this plain-English patent card into any blog post or article — free, no signup. It always links back to the full breakdown here.
<div data-patentlens-widget data-patent-number="US9606820"></div> <script src="https://patentbrief.org/embed.js" async></script>
Stay in the loop
Get a weekly digest of new patents.
One email per week. No spam. Unsubscribe anytime.
Keep exploring
Related patents you should know
US 4683195 · 1987
How to Make Billions of Copies of a DNA Segment
This patent describes the Polymerase Chain Reaction (PCR), a method to rapidly create many copies of a specific piece of DNA or RNA, enabling its detection and analysis.
Cetus Corp
US 8697359 · 2014
How to Edit Genes in Human Cells Using an Engineered CRISPR System
This patent describes an engineered CRISPR-Cas9 system for precisely cutting DNA in eukaryotic cells to change how genes work, opening the door for gene editing in complex organisms.
Massachusetts Institute of Technology
US 7657849 · 2010
How the iPhone's Slide-to-Unlock Gesture Works
Apple's 2010 patent describes unlocking a device by dragging a specific graphical image across the touchscreen along a predefined path, a gesture that became iconic with the original iPhone.
Apple Inc
US 4733665 · 1988
How Doctors Implant a Permanent Stent Using a Balloon
This patent describes the method for placing a permanent, expandable wire mesh tube inside a blood vessel or other body tube using a balloon-tipped catheter to widen it and keep it open.
Expandable Grafts Partnership
US 4965188 · 1990
How to Make Many Copies of a DNA Piece with Heat
This patent describes the Polymerase Chain Reaction (PCR) method, a technique to make millions of copies of a specific DNA segment using a heat-resistant enzyme and repeated temperature changes.
Cetus Corp
US 4235871 · 1980
How to Encapsulate Active Materials in Lipid Bubbles Efficiently
This patent describes a method for trapping biologically active substances inside tiny, multi-layered fat bubbles called liposomes, using a specific water-in-oil emulsion and gel-forming process to improve how much material gets captured.
Individual
More to explore
More in Software & Internet
US 4405829 · 1983 · Massachusetts Institute of Technology
How RSA Public-Key Encryption Keeps Digital Messages Secret
US 6285999 · 2001 · Leland Stanford Junior University
How Websites Get Ranked by Importance
US 5960411 · 1999 · Amazon com Inc
How Amazon's One-Click Ordering Works for Online Purchases
US 7669123 · 2010 · Facebook Inc
Displaying Friends' Activities in a Social Network Feed
New to patents?
Common Questions
Frequently Asked Questions
What does How to Make Software Debugging Consistent Using Object Finalization Control cover?
A method for virtual machines to pause and precisely replay the cleanup of computer objects, ensuring that debugging logs match the original program execution exactly.
Who owns patent US 9606820?
CA Inc owns this patent, granted in 2017.
When does this patent expire?
This patent is expected to expire on March 28, 2037, when the invention enters the public domain.
What is patent US 9606820 cited by?
This patent has been cited by 4 later patents that build on its ideas.
What problem does this patent solve?
Debugging complex software is difficult when the timing of events changes every time you run the code. By forcing deterministic behavior on object cleanup, this technology allows engineers to recreate exact failure states in a controlled environment. It is particularly useful for enterprise software where intermittent crashes are expensive and difficult to diagnose.
What does this patent NOT cover?
Does not cover general memory management or garbage collection outside of the specific context of programmatic replay.
Patent monitoring



