Centralization of Java bytecode

Merging several Java programs into one program

Internship Contents

Typical distributed system

Distributed systems consist of multiple processes. Many analysis tools, like debuggers, support only one process, though. It is therefore interesting to transform multiple processes into a single process, and execute the result in a debugger. This transformation is called Centralization.

Centralization of Java bytecode can be automated, but current tools are based on outdated technology, and no longer work on current Java bytecode. The goal of this internship is to analyze current papers and tools, and build a new centralization tool based on the ASM bytecode manipulation toolkit.

Manipulation of Java bytecode requires interest in, and knowledge of, bytecode or similar machine code, and how program executables are structured into executable code and data. The resulting tool could transform any standard Java program and have a potentially widespread usage, extending the scope of many existing tools such as debuggers.

Requirements

Candidates to this internship should fulfill the requirements below:

Application and Contact Information

Applications are managed by NII in the frame of its internship program. The most important point is that applications are through the candidate's home institution, which must be an "MOU partner" of NII. See the official page for detail: Second call for internship for 2010

The internship is co-supervised by Cyrille Artho from AIST and Eric Platon from NII. Please feel free to get in touch for further information.