Understanding the engineering behind modern software can be a great challenge. Programs today consist of millions of lines of code, spread over thousands of files. Even with access to source code, there are many barriers to meaningful comprehension of even small parts of the software. Our Diver tools and techniques to help alleviate those problems.

Diver is a set of tools that enhances the Eclipse IDE and allows developers to incorporate advanced reverse engineering techniques into their every day work. It uses combined static and dynamic analysis to help developers understand the software that they are working on. It allows developers to easily trace program execution, filter Eclipse views based on traces, and compare the differences between traces. Traces can also be viewed in an advanced sequence diagram view called the Sequence Explorer.

Built on top of the SWT framework from Eclipse and using the the patterns forged by JFace and Zest, the Sequence Explorer offers clean, robust, and efficient ways to visualize the flow of software using familiar UML Sequence Diagram Notation. Diver is 100% free and open source.

Diver was developed with support from Defence Research and Development Canada (DRDC).