Hands-on FOSS development tools (Doxygen, Valgrind and Valkyrie)



A quick introduction to Doxygen

Working with source code is always a battle between "getting the work done" and maintainability. One essential part of maintainability is code documentation. It is a pain to write documents about code structure, since the document will nearly often be outdated relative to the actual code. A very nice way to doing code documentation is to use the Doxygen tool, which supports coding in C++, C, Java, Objective-C, Python, IDL, Fortran, VHDL, PHP, and C#. By adding a few addititional "tags" in the source code, then Doxygen can extract function headers. extract code documentation, and present the code structure in a very nice form - typically HTML. The best thing is that the documentation can be updated according to the latest code changes simply by running Doxygen on the command line of your Linux/BSD box. During the presentation Peter will demonstrate examples of how to use Doxygen for several code-examples.

Catching the bug in C/C++ code using automated tools

Writing C/C++ code on a UNIX computer such as Linux is very open - meaning that the developer is able to make lots of suffisticated memory access fast and easy. History has also shown that the high degree of freedom also implies that memory violations in C/C++ occurs regularly - some are obvious to spot at runtime, while others are subtle - and very hard to find. In the talk we look more into systematic approaches to catch memory violations at runtime using tools like Valgrind/Valkyrie, Purify, and Insure++. It can be noted that Valkyrie and the graphical front-end Valkyrie are open source programs, while Purify and Insure++ are commercial closed source programs.