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.