The objective of the NIST Web Metrics Testbed is to explore the feasibility of a range of tools and techniques that support rapid, remote, and automated testing and evaluation of website usability. There are currently six components: 1. Web Static Analyzer Tool (WebSAT): checks web page HTML against typical usability guidelines. 2. Web Category Analysis Tool (WebCAT): lets the usability engineer construct and conduct a web category analysis (card-sorting). 3. Web Variable Instrumenter Program (WebVIP): instruments a website to capture a log of user interaction. 4. Framework for Logging Usability Data (FLUD): a file format and parser for representation of user interaction logs (such as those captured by WebVIP). 5. VisVIP Tool: produces a 3D visualization of user navigation paths through a website, based on FLUD data. 6. TreeDec: adds navigation aids to the pages of a website.
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.
Software Engineering Environment (SEE) provides an information manufacturing platform for software development. It makes information sharing very convenient by allowing all information to be customized dynamically and letting users modify or add their own information structures at any time. It provides various predefined selections for information attributes that correspond to information manufacturing patterns. Although designed for software development, it could be used for managing any information, including book registries, personnel lists, and financial reports.
Cyclomatic complexity is a measure of the amount of branching in a function. A higher number of branches gives a higher complexity rating. Higher numbers lead to combinatorial expansion of the 100% coverage testing scenarios required to guarantee the function is bug-free. So high complexity usually means a large chance for bugs. Low complexity means bug-free. This code is written in Perl, but analyzes Python code for complexity by function and class. It also gives statistics about comment density.