Introspect on running programme, view and alter object fields and methods. Edit the code of any method at runtime; apply the changes to any combination of objects, such as an array, or a complete class. Complete rewrite underway available Jan 2007.
Be the first to post a text review of Runtime Java Class Editor. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Phase 1 (Jan 2007) Improve existing solution without adding any major new functionality 1.(50% complete) Remove the need for the special compiler (javaprec), by: a.Retrieving source for methods directly from un-compiled *.java source and thereby remove the need to produce the XML files b.Use AspectJ to control the execution of altered methods and thereby remove the need to insert extra code in every method 2.(80% complete) Improve display of objects (the tree structure at top) a.Display information about constructors and inner classes b.Improve the history (backwards / forwards) functionality by integrating it into the object structure tree so that field can expand into a completely new sub-tree 3.(15% complete) Refactor clean-up and improve existing code 4.Improve performance a.Use a tool such as JProfiler to identify bottle necks and hot spots 5.Perform extensive testing to reduce bugs During phase 1 I also have someone else who is responsible for putting together use cases, requirements, design documentation (UML, etc), estimates, and a project plan. This will help to organise the project, increasing the chance of the correct requirements and changes being made according to their priority. Phase 2 (April 2007) Investigate other options for executing altered methods 1.Investigate alternatives to BeanShell, such as: a.Compiling the altered methods into actual byte code, for example make use of Jakarta Byte Code Engineering Library (BCEL) http://jakarta.apache.org/bcel/ or Javassist http://www.csg.is.titech.ac.jp/~chiba/javassist/ b.Other interpreters such as i.DynamicJava http://koala.ilog.fr/djava/ ii.Groovy http://groovy.codehaus.org/ iii.Pnuts https://pnuts.dev.java.net/ Phase 3 (August 2007) Provide profiling information 6.Add profiling information as graphs, table, etc using features available in JVM and integrating other open source project. This will provide information, such as: a.memory allocation, hot spots, etc b.CPU utilisation, hot spots, etc c.Diagrammatic method call graphs Phase 4 (January 2008) Add debugging functionality 7.Add debugging functionality to allow programmes to be stopped and break points and the code to step forwards and backwards. For this too I intend on leveraging any opens source project currently available.
I have added major new functionality which will be realised shortly once fully tested. This new item is just to inform users that work is currently underway on the project and substantial progress is being made. The main efforts of the existing work is to remove the need for the special compiler javaprec and to improve the object structure tree in several ways.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?