RSM Version History
As a service to our users, we provide a complete version history of Resource Standard Metrics. We strive to create the highest quality software and appreciate any feedback users may have about our products. Many of the features in RSM were influenced by either custom additions for end users or suggestions for which we saw a mutual benefit to the product.
6/24/2001 Version 6.01 - Parser enhancement for identifying missing scope for the "do" key word. 6/14/2001 Version 6.00 - Complete Extensive Regression Testing and code testing across Windows 2000, Solaris 8 and Red Hat 7.1 - Major functionality and Code Baseline Enhancements - RSM, by default, no longer sorts by entity name, this now must be specified using the -k option. This increases performance of the product. - RSM parser algorithms enhanced for stability and speed. Performance increase of general parsing is increased by 12%. - Modified User Interface, collapsing menus and adding additional functionality. Effected Options, -A -h -k -R -T -w Added Menus Options: -wd, -wf -Tw - Inheritance tree calculations modified to handler di-cyclic graphs of multiple inheritance. - Added configuration File option to performs: Relative work file locations (default). Include or Not Equal Files in Work differential files. - Reworked template scoping for highly complex template syntax - Unified formatting of class template and function template lines - Added new class and interface acquisition algorithm - Reformatted inline methods - Formatted Template lines - Added active struct metrics similar to class metrics - Updated Help Text - Changed license decryption algorithm (requires new licenses for users with maintenance, email support) 1/15/2001 Version 5.59 - Added command line error indication - Updated Visual Studio DSW/DSP parser for relative projects - Fixed allocation of functions to nested classes when the nested classes did not exist in a namespace - Removed the class header line from the class metrics to match the metrics for the function. Metrics begin at scope and end at scope, inclusive. 1/10/2001 Version 5.58 - Copyright updates and parser table updates 12/20/2000 Version 5.57 - New Visual Studio Workspace and Project reader - Enhanced user interface when using the -O mode - Maintenance release for anomalous operation 11/17/2000 Version 5.56 - Added progress meter when using -O for file output - Maintenance fix for MS specific syntax 11/14/2000 Version 5.55 - Bug fix for Java adjacent C comments of the form /* *//* */ 11/01/2000 Version 5.54 - Added the capability to turn off file extension checks for RSM processing thus allowing RSM to process any file via the RSM.cfg file. However, RSM is designed to process C, C++ and Java compilable files. Performance with other files like script, SQL and HTML is undefined and unsupported. 10/10/2000 Version 5.53 - Bug fix for function names when the prolog is in the following form and there are non-printable ASCII characters following the function name. This has been shown to be an issue with tool generated source code. void foo ( ... 9/1/2000 Version 5.52 - Added sorting by state (new, modified, equal, removed) for metrics differential report. 08/31/2000 Version 5.51 - Fixed a bug in parsing the MS Visual Studio .dsw file - Enhanced the metrics differential report by adding a state profile 08/23/2000 Version 5.50 - Added the -O option to route RSM output to a file. - Added quality notice #43, Identifies the use of the keyword 'continue' within the source code. - Added quality notice #44, identify the use of the keyword 'break' outside of the 'switch' block. - Added the capability to read the MS Visual Studio DSW and DSP files associated with the VC++ workspace. RSM processes all source active in the workspace. - Added virtual function count to the -v report. - File listings from -RL are left justified, removing leading spaces - Fixed bug where ?? in code would yield ? quality notice 7/3/2000 Version 5.40 - Added the configuration file rsm_macro.cfg for user defined macro definitions that may show up in the code without a declaration for the macro. - Modified parser to recognize case (1): syntax - Modified parser to ignore macros after the function name - Added Total Quality Notice Summary List - Add the capability to create the inheritance tree from the class specifications with metrics - Quality notice for maximum depth of inheritance tree - Quality notice for maximum number for derived child classes - Quality notice when multiple inheritance is encountered - Added -D option where -Dt removes tabs from source code and -Dd append carriage returns to source code to create a DOS file, conversely -Du removes carriage returns from source code thus creating UNIX files. - Added the capability of processing a list of directories and files from a text files. 5/5/2000 Version 5.34 - Bug fix for namespace total classes in the CSV output. 4/23/2000 No Version Change - Added Kawa Integration and Code Analysis information to the user documentation. 2/25/2000 Version 5.33 - Maintenance release: Added Support for the Microsoft keyword __declspec(..). 1/18/2000 Version 5.32 - Maintenance release: Enhanced C++ parser for Microsoft specific macro syntax in class files. 12/28/1999 Version 5.31 - Maintenance release: Fixed minor bug in compile date calculation. Enhanced C++ parser to adapt to embedded template syntax, thus providing correct metrics for C++ classes which contain std::map, etc.. 12/1/1999 Version 5.30 - Added -TL mode for Totals Only with no listings of functions etc.. - Added Notice for Maximum Functions per Class - Added Hyperlinks for File names in Totals mode - Fixed bug for disabling Notice #38 - Expanded Capability for nested classes from 8 to 64 10/19/1999 Version 5.22 - Under the Windows operating system, file names are not case sensitive. The default configuration file has been set to this setting. - File extension case insensitivity is now supported. rsm -r h,cpp will retrieve file with H,h,CPP and cpp extensions - Fixed a bug under NT and Windows 2000 where the work files were not being written to the local directory. Version 5.20 supports an explicit directory for creating work files. - Fixed bug where elipsis (...) were being captured as a notice in the catch(...) syntax. 9/25/1999 Version 5.21 - Added the -Rd option to stop recursion at the specified -r folder. This option will allow the end user to process metrics from Windows folders which contain spaces in their names. As the Windows Shell terminal cannot parse correctly folder names with spaces, the end user must user the modified 8.3 file name or use the -r option of RSM which directly opens the directory 9/20/1999 Version 5.20 - Added Visual Studio Interactive Mode - Quality Notices can be interactive when RSM is integrated as a MS Visual Studio Tool. A simple click will open the file and place the cursor at the line where the quality notice occurred. - Quality Notice Format Visual Studio Interactive Format Summary Format Standard Verbose Format - Additional Quality Notices Notice for public data within a class Notice for protected data within a class Notice for exception handling within a function Notice for the clause 'using namespace' Notice when a class definition is located within a function. Notice when a class contains a pointer to data Notice when a class with virtual methods does have a virtual destructor - Class Metrics Counts for public, protected and private attributes Counts for public, protected and private methods Identification of Inheritance Base Classes Metrics are calculated for nested classes - Comma Separated Variable Format Output MS Excel Import capability - Project Metrics File Metrics Namespace/Package Metrics Interface Metrics Class Metrics Functional Metrics Code Differential Metrics - New Total Only Reports Quality Notice Single Line Summary Quality Profile Work File Report Output can be limited by using the Totals mode with work files, thus limiting extensive output. Work files can be extracted to CSV output. - Configuration Options Wrap long names of files, namespaces, classes and functions. Specify the path location of work files 7/19/1999 Version 5.10 - Change -A option to create CSV format output for MS Excel Import 6/16/1999 Version 5.0 - Native Windows Compilation with Visual Studio 6.0 SP3 - Visual Studio Tool Integration - Updated Runtime Options - Extensive Update to Reporting - Update to be compliant with McCabes Cyclomatic complexity - Java Compliant with Package.Class.Function support - Support Namespace, Class and Function Summaries sorted by name, LOC, eLOC, lLOC and Complexity - Added many new quality notices - Completely configurable through rsm.cfg - Added User log administration functions - Added Class nesting capability - Many Many new features. 4/22/1999 Version 4.20 - Added a user log - Reformatted On-Line manual 4/7/1999 No version change - Added rsm.dll with no source changes - New manual revision 3/17/1999 Version 4.15 - Fixed a bug for brace count notice when closing a file. This check is to insure that all scope is closed. 3/1/1999 Version 4.14 - Added a quality notice for the use of void *. - fixed a bug where a quality notice was emitted when comparing file comment and white space below 10%. 2/9/1999 Version 4.13 - Added notices when code is not compilable by matching braces or parenthesis when file processing is complete. - Fixed a bug when a C macro is defined within a function causing the function not to be emitted. 1/24/1999 Version 4.12 - ANSI C++ namespace is now active for class specification and implementation metrics. 1/11/1999 Version 4.11 - Expanded programs capability to handle very large code tokens equal to the length of the maximum line length relative to the operating system. - Added 1999 in the copyright date range. 12/18/1998 Version 4.10 - Added "namespace" as a active scope in the class and function identification. - Fixed bug in calculating estimation factors based on flow complexity. 12/7/1998 Version 4.07 - Software license with maintenance can run any version of RSM up to the software maintenance date. This will allow users with software maintenance to download and use the latest RSM from our web site. - Fixed minor bug where a non-ANSI function was reported for an array declaration and initialization which spans multiple lines. 11/1/1998 Version 4.06 - Modified cyclomatic complexity metric to match McCabe's definition by including "for" loops into the metrics, but added a configuration parameter to prevent for loops from being included in the cyclomatic complexity. - Added a new license file format for allowing those users with software maintenance to directly download the latest version from the web without the license version check. 10/1/1998 Version 4.05 - Added a configuration setting for RSM to create relative HTML hyperlinks. The default setting is for RSM to create literal file names for HTML hyperlinks. - Fixed a bug introduced which ignored non-ANSI function headers. 9/21/1998 Version 4.04 - Modified parser to make blank lines in C style comments to be represented as blank lines and not count as comment lines. - Added configuration settings for the maximum line length and maximum function name length quality checks. 9/1/1998 Version 4.03 - Added HTML documentation to the base distribution. Text files, except for readme.txt, are eliminated. Enhanced parser to address minor parsing issues for single line functions. 8/9/1998 Version 4.02 - Visual C++ editor does not place end of line characters at the end of the last line in a source file. When the last line of code contains one character then an EOF instead of an EOL + EOF (end of line and end of file), RSM would miss the last character assuming it was a single '\n'. RSM now examines the last character of each line to ensure that an editor properly terminated each line and parses the source code accordingly. - Fixed Java compatibility for assignments of arrays within class data structures. - Fixed RSM trying to open txt, htm or html files from some shell interpreters using wild card arguments. - Enhanced Java source code parsing. 6/24/1998 Version 4.01 - Fixed a bug in the HTML hyperlinks for relative file names like (./foo/star.cpp). - Fixed a bug in the HTML hyperlinks for NT 5/17/1998 Version 4.00 - Added HTML reports with color and hyperlinks to code. - Enhanced complexity metrics to include functional interface complexity which is the measure of input parameters and return state. - Added metrics differential percent by file. - Added estimation metrics from eloc and function metrics which mirror function point estimation. - Metrics per class and class implementation. - Added a license file for distributions called rsm.lic. - Added configuration file called rsm.cfg. - Reformatted reports. 1/17/1998 Version 3.06 - Added Notice for embedded classes. 01/07/1998 Version 3.05 - Added support for Java files and initialization in class specifications consistent with Java grammar. - Modified parser constructs for Java. 12/03/1997 Version 3.00 - Added functionality for NT 4.0 long filename. - Upgraded parser functionality. - Added expanded template and class metric support. - Added work files for metrics differentials. - Added comment extraction for documentation export. 10/19/1997 Version 2.70 - Fixed a MSDOS anomaly when a file contains only a single carriage return. Rearranged function reports to be easier to read. 08/31/1997 Version 2.60 - Added enum counts to identify the enumeration use in the code. General cleanup and commenting of source code in preparation for next version. 08/25/1997 Version 2.52 - Structure counts now reflect actual data definitions, not the use of the key word "struct". This matches the use of the "class" keyword, where "class" identifies a data structure not a declaration. 08/22/1997 Version 2.51 - Fixed minor grammar error in 1 notice. - Function summary reports physical lines instead of logical lines. 8/5/1997 Version 2.50 - Added more informative help - Changed the configuration query to match help structure - Added recursive descent of directories with the -r option. - Added full C++ keyword checking for C files. - Added -T mode for simple grand total output 7/28/1997 Version 2.41 - Fixed minor bug in parser for function names. 7/12/1997 Version 2.40 - Minor formatting fixes 7/10/1997 Version 2.31 - Fixed comparative complexity to only reflect the comparisons in the if and while conditions. 07/08/1997 Version 2.30 - Enabled Long File Names for Windows 95. - Long file names for NT will be enabled in release 3.0 of RSM ( Fall 97 ) do to the 32 FAT of NT. - Added read from filelist capability with the -F option. 06/23/1997 Version 2.21 - Removed bitwise operations from comparison complexity measurements. Comparison complexity now indicate the complexity of the tests which 05/05/1997 Version 2.20 - Added class line emission and fixed some spelling errors. 04/14/1997 Version 2.17 - Add -i switch to report class names. 04/10/1997 Version 2.16 - Improved parsing algorithm for class names. 04/09/1997 Version 2.15 - Improved parsing algorithm for function names. 03/24/1997 Version 2.14 - Fixed a slight bug where on Solaris, passing rsm - or rsm -v with no file name caused a segv. 03/14/1997 Version 2.13 - Added the terse report for automated processing - Changed logic complexity to be compliant with McCabe Cyclomatic complexity. 03/13/1997 Version 2.12 - Fixed spelling and help messages - Fixed bug in getting the function name - Fixed removal of whitespace for preprocessor directives 03/11/1997 Version 2.11 - Added the "?" operator for quality notices 02/26/1997 Version 2.10 - Added getopt for full Unix switch compliance 02/18/1997 Version 2.02 - Fixed minor formatting bugs 02/15/1997 Version 2.01 - Fixed ) = for beginning of keyword/functions - Fixed paren count for scope determinations 1/20/1997 Version 2.0 - Added function counts and metrics - Added file counts - Restructured output and parameters - Added variable output - Added memory alloc/dealloc counts - Added notices for common quality concerns - Added query for quality notices - Added functional and file complexity 10/28/1996 Version 1.6 - Added metrics for _exit() and abort() 09/25/1996 Version 1.4 - Correct statement count to compensate for the 2 semicolons in a for loops. 9/20/1996 Version 1.3 - Added goto keyword - Added exit function - Changed output format 07/26/1996 Version 1.2 - Added the check mode, added the current format with key words. 05/20/1996 Version 1.1 - Added a new parser and a few keywords 4/11/1996 Version 1.0 - Official Commercial Release - Determined line counts
(Last Update:
June 22, 2001
)
Copyright 2001, M Squared Technologies