Visualizing the behavior of dynamically modifiable code

Recent years have seen an increased recognition of some of the advantages offered by dynamically modifiable code, i.e., code that changes during the execution of the program. In its full generality, it can be very difficult to understand the behavior of such self-modifiable code. This paper describes a system that graphically displays the execution behavior of dynamic code, focusing on code modifications and their effect on the structure of the program, i.e., the call graph and control flow graphs of functions. This can help users visualize the structure of runtime code modifications and understand the behavior of dynamically modifiable programs.

[1]  Koen De Bosschere,et al.  Instrumenting self-modifying code , 2003, ArXiv.

[2]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[3]  Gruia-Catalin Roman,et al.  A taxonomy of program visualization systems , 1993, Computer.

[4]  Ali-Reza Adl-Tabatabai,et al.  Fast, effective code generation in a just-in-time Java compiler , 1998, PLDI.

[5]  Dawson R. Engler,et al.  DCG: an efficient, retargetable dynamic code generation system , 1994, ASPLOS VI.

[6]  Christian S. Collberg,et al.  A system for graph-based visualization of the evolution of software , 2003, SoftVis '03.

[7]  Peter Lee,et al.  A Declarative Approach to Run-Time Code Generation , 2007 .

[8]  Blaine A. Price,et al.  A taxonomy of software visualization , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[9]  Dawson R. Engler,et al.  C and tcc: a language and compiler for dynamic code generation , 1999, TOPL.

[10]  Julia L. Lawall,et al.  Automatic, template-based run-time specialization: implementation and experimental study , 1998, Proceedings of the 1998 International Conference on Computer Languages (Cat. No.98CB36225).

[11]  Yuichiro Kanzaki,et al.  Exploiting self-modification mechanism for program protection , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[12]  Dino Dai Zovi,et al.  SECURITY APPLICATIONS OF DYNAMIC BINARY TRANSLATION , 2002 .

[13]  Stephen G. Kobourov,et al.  GraphAEL: Graph Animations with Evolving Layouts , 2003, GD.

[14]  Saumya K. Debray,et al.  Profile-guided code compression , 2002, PLDI '02.