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.

10/10/2000
Version 5.53
            - Bug fix for function names when the prolog is in the form
              void
              foo
              (
9/1/2000
Version 5.52
            - Added sorting by state (new, modified, equal, removed) for
              metrics differential report.

Version 5.51
            - Fixed a bug in parsing the MS Visual Studio .dsw file
            - Enhanced the metrics differential report by adding a state profile      

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
     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.
   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.
   version 2.70
             - Fixed a MSDOS anomaly when a file contains only a
               single carriage return.  Rearranged function reports
               to be easier to read.
   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.
   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.
   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
   version 2.41
             - Fixed minor bug in parser for function names.
   7/12/1997
   version 2.40
             - Minor formatting fixes
   version 2.31
             - Fixed comparative complexity to only reflect the
               comparisons in the if and while conditions.
   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.
   version 2.21
             - Removed bitwise operations from comparison
               complexity measurements.  Comparison complexity
               now indicate the complexity of the tests which
   version 2.18,19,20
             - Added class line emission and fixed some
               spelling errors.
   version 2.17
             - Add -i switch to report class names.
   version 2.16
             - Improved parsing algorithm for class names.
   version 2.15
             - Improved parsing algorithm for function names.
   version 2.14
             - Fixed a slight bug where on Solaris, passing
               rsm - or rsm -v with no file name caused a
               segv.
   version 2.13
             - Added the terse report for automated processing
             - Changed logic complexity to be compliant with
               McCabe Cyclomatic complexity.
   version 2.12
             - Fixed spelling and help messages
             - Fixed bug in getting the function name
             - Fixed removal of whitespace for preprocessor directives
   version 2.11
             - Added the "?" operator for quality notices
   version 2.10
             - Added getopt for full Unix switch compliance
   version 2.02
             - Fixed minor formatting bugs
   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
   version 1.5
             - Added metrics for _exit() and abort()
   version 1.4 
             - Correct statement count to compensate
               for the 2 semicolons in a for loops.
   version 1.3
             - Added goto keyword
             - Added exit function
             - Changed output format
   version 1.2
             - Added the check mode, added the current
               format with key words.
   version 1.1
             - Added a new parser and a few keywords
   4/11/1996
   version 1.0
             - Official Commercial Release
             - Determined line counts

divider.jpg (1531 bytes)

(Last Update: October 10, 2000 )
Copyright 1997, M Squared Technologies