Daikon is an implementation of dynamic detection of likely invariants. An invariant is a property (such as "x=2*y+5" or "this.next.prev = this" or "myarray is sorted by <") that holds at a certain point or points in a program. Invariants are often seen in assert statements, documentation, and formal specifications. Invariants can be useful in program understanding and a host of other applications. Daikon runs a program, observes the values that the program computes, and then reports properties that were true over the observed executions. It can detect properties in Java, C, C++, Perl, and IOA programs, in spreadsheet files, and in other data sources.
AnthillPro is a build management and lifecycle automation server for the enterprise that makes the build and release process easy and efficient. As a continuous integration server, it can produce a new build for every developer check-in. The entire team can be alerted to problems via email or instant message. Each build can then be promoted to higher statuses, or deployed to various servers and environments using your scripts. At every step, AnthillPro records who did what to keep your auditors happy.
AntiCutAndPaste is designed to search for text fragments that have been copied and pasted in programming language source code or plain text. It has been tested on sources from large C++, Pascal, Java, and C# (Mono) projects. The algorithms used are very fast and can handle up to three million C++ code lines in one minute. Minor modifications of code are ignored during the search. Reports are sorted conveniently by the total size of all similar fragments and there are many report customization options.
Sonar enables you to collect, analyze, and report metrics on source code. Sonar not only offers consolidated reporting on and across projects throughout time, but a central place to manage code quality. With no complex infrastructure, Sonar fulfills needs in terms of code quality, whether it is to make an audit or implement a continuous improvement process.
Fenris is a multipurpose tracer, debugger, and code analysis tool that detects and documents high-level language constructions, can recover symbols, graph program execution flow, detect internal functions, recover symbol tables, and deal with anti-debugging protection. It features a command-line interface as well as a SoftICE-alike GUI and Web frontend.
Testitool is a Web-based application for QA test planning. It creates a test plan and populates it with test cases, maps test cases to functional requirements, instantiates a test plan, begins executing test cases and marks them as successful or failed, generates reports on your test plans, copies test plans and test cases, and tailors test plan instances by adding and removing test cases from them.
NoBug is a library which provides assertions, logging statements, and annotations for C and C++ programs. It includes pre-/post-condition and invariant checks, as well as generic assertions. Checks are enabled based on build-levels and scope tags. It also includes debugger support (valgrind), dumping of data structures, logging your application's activities, runtime customizable logging via environment variables, different logging targets (ringbuffer, stderr, syslog, debugger, etc.), and annotation of your source code regarding known bugs, things to do, and planned things. It can track resources and detect deadlocks.