Patent attributes
A software developer tool allows for live code updates (LCU) while an application is running using an execution platform. The LCU update service operates by preemptively, automatically rewriting bytecode to introduce a layer of indirection that swaps out the code of a running application to make it easy to dynamically update whenever the code is changed. The indirection includes both new “representation” classes (and constituent fields and methods), and also replacing constructs that are hard-coded into the bytecode with more flexible constructs such as representation object maps and a dynamic global class table. All manner of code modifications are handled including adding, removing and modifying fields and methods of classes, and changing the class hierarchy. This includes arbitrary code changes, ensuring that when a developer changes a class, all objects of or related to that class are instantly updated.