This page is maintained for archival purposes only. For current information please visit http://prolangs.cs.vt.edu/.
Prototypes
- Dila is a dynamic load-time instrumentation library developed by our group in cooperation with IBM Research. Dila uses customized class loading for instrumenting the byte code of a program before it is executed. During the execution of an instrumented program dynamic program representations, such as call graphs, are created, which can be used for various program analyses. Dila is completely written in Java and uses the byte code manipulation toolkit Shrike from the WALA project. It has been built as a library for online analysis tools with a particular focus on performance. The library is licensed under the Eclipse Public License (EPL).
- Chianti is a unique fault localization and debugging tool for Java. It offers features to determine changes in an edited program, tests affected by those changes, and changes that affected each test. The tool also helps determine why a test failed. The programmer can select particular changes for an unexpectedly failing test and apply them individually to the program, forming a new version that will compile.
Benchmark programs
- The ANSI C programs used for experiments with the dataflow analyses in PAF are available here (5.7MB compressed, 26.4MB uncompressed).
- Click here to download
the C++ programs
(38KB compressed, 225KB
uncompressed) used in:
Hemant Pande and Barbara Ryder, "Data-flow-based Virtual Function Resolution", LNCS 1145, Static Analysis: Third International Symposium, SAS'96, pages 238-254, September, 1996.