azTrace is a software package designed to help developers understand the memory behavior of their programs. The software has two main components: a set of heap loggers and a set of analysis tools. The loggers are language-specific; their purpose is to collect information from running programs in a particular language and write it to a file. Later, the developer can pass these logs to one of several analysis tools. Each tool provides a different visualization or some other sort of summary.

Diagram of Tools

  1. The currently supported languages are :

    • Python
    • Ruby
    • Java
    • Objective-C
    • Javascript
    • C++
  2. The Visualization tools include:

    • 2D dot Graphs
    • 3D Interactive Model using Ubigraph
    • NetworkX
  3. The metric calculators include:

    • Static metrics averaged over the graph at one point
    • Dynamic metrics at the graph, class, or individual object level
    • Output files in csv and tsv formats that are ready to graph
changed August 12, 2011