OBJ3 is a program specification and proof system based on order sorted equational logic. It has been successfully used for research and teaching in software design and specification, rapid prototyping, theorem proving, user interface design, and hardware verification, among other things. It was the first language to implement parameterized programming and its module system influenced the designs of the Ada, C++, and ML module systems.
Clover makes the gathering and analysis of code coverage metrics as painless as possible. It features include tight integration with the Jakarta Ant build tool and accurate, configurable coverage recording. It gathers Method, Statement, and Branch coverage data. Compile-time properties and source level directives allow for precise control over the coverage gathering process. Coverage data can be viewed in XML, HTML, or via a Swing GUI. Report-time options allow for the exclusion of particular statement types from coverage analysis. Plugins for the Eclipse, NetBeans, JDeveloper, JBuilder, and IntelliJ IDEs are provided.
C/C++ Program Perfometer checks the performance of a C/C++ program and separate pieces of code for any metrics (e.g. uclocks, rusage metrics, metrics defined by the user, etc.). The measurement results are represented in detailed/summary reports. The detailed report has results for individual tests, and the summary one has average cost and its analysis. The comparison results are represented in comparative tables for individual comparison groups. The user may set various parameters in order to control the measurement/comparison process: measurement report and detailed measurement report flags, total iteration and tests, measurement scale, and confidence threshold.
TAU (Tuning and Analysis Utilities) is a set of tools for analyzing the performance of C, C++, Fortran and Java programs. It collects much more information than is available through prof or gprof, the standard Unix utilities, including per-process, per-thread, and per-host information, inclusive and exclusive function times, profiling groups that allow you to organize data collection, access to hardware counters on some systems, per-class and per-instance information, the ability to separate data for each template instantiation, start/stop timers for profiling arbitrary sections of code, and support for collection of statistics on user-defined events.
ReadySET is a project to produce and maintain a library of reusable software engineering document templates. These templates provide a ready starting point for the documents used in software development projects. Using good templates can help developers work more quickly, and they help prompt discussion and avoid oversights. Key features include: high-quality outlines, sample text, and checklists, use of simple Web technologies (pure XHTML and CSS), and templates for many common software engineering documents.
TIMES is a tool suite designed mainly for symbolic schedulability analysis and synthesis of executable code with predictable behaviors for real-time systems. Given a system design model consisting of a set of application tasks (required to meet mixed timing, precedence, and resource constraints), a network of timed automata describing the task arrival pattern and a preemptive or non-preemptive scheduling policy, TIMES will generate a scheduler, and calculate worst-case response times for the tasks. The design model may be further validated using a model checker and then compiled to executable C-code.
Uppaal TRON is a testing tool for black-box conformance testing of real-time embedded software systems. Given a formal timed automata model of the system under test (SUT) and its assumed operating environment, it automatically generates, executes, and checks timed test sequences online. The observed behavior is required to be timed trace included in the specification. The tool is based on the Uppaal engine, which is a model-checker of real-time systems modeled as networks of timed automata.