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.

4/5/2008
Version 7.50
- Refactored CSV output for -fa and -o - Refactored the function list report -l - Added RSM installation for servers presentation to documentation
- Added the Windows DECLARE_DYNAMIC macro to rsm_macro.cfg
- Added Skip Line Counts from RSM skip tokens
- Added Quality Notice 56 for sequential breaks
- Added RSMCFGHOME Environment variable to point to config files
- Fixed Quality Notice 50 to be ignored within an enumerator
- Fixed break within switch notice 44 detection - Fixed buffer overrun with long text report banners
- Fixed Linux error for "Too Many Open Files" using -r
- Fixed assignment with in an if condition for Java (>)
- Fixed Erroneous Notice 35 with a function ends func(){};
- Fixed issue with workfile names failing if terminated with \r 12/17/2007 Version 7.41
- Maintenance Release - Fixed issue with unmatched XML Key <characters_percent> - Fixed issue with buffer overrun for function parameters causing stability issue in 7.30+ 11/5/2007 Version 7.40
- Added -xNOWRAP to disable name wrapping in a report - Added stability and optimization enhancements
- Added percent complete when using an output file
- Added file and function averages to the -Td report
- Added new color definitions for HTML reports in rsm.cfg
- Added Java @ syntax to parser
- Added Linux 64 Bit compilation to linux distribution
- Various maintenance updates 10/1/2007 Version 7.30
- Added Quality Notice 55 for watching scope depth. - Added Hyperlinks in HTML reports so that files open in new browser tab/window
- Added -fm report for class methods and attributes annotation, HTML and Text
- Added function parameter line to function reports to identify overloaded methods
- Added -Tv Report to detail metrics including whitespace, blank link percent and many other miscellaneous metrics. - Added -Tv and -v to XML reports for access to other metrics not present in other reports. Suggest using the XSL feature to create your customer reports.
- Fixed -wd diff workfiles so that filenames are limited to 255 for Windows & Linux
- Removed date/size file line from csv output using rsm.cfg file: rsm.cfg setting: # Show file dates when displaying file metrics.
Show file date and size : No
- Escaped c++ templates syntax to be xml compliant
- Adapted files with @ not to be assumed a clearcase file without a second @
- Removed floor function and replaced with cast to int for no dependence on math lib, 64 bit "compatibility" now in Linux Wintel Distributions
- Fixed issue where "_" would not show in UDQN messages 7/23/2007 Version 7.20
- Added option to rsm.cfg for using LLA differential when file size exceeds the file size for LCS diffential algorithm and the OS 32 bit limit - Added Support for C# Version 3.0 "where" key word
- Minor maintenance issues 7/9/2007 Version 7.10
- Added PCRE 7.00 library - Added XML reports DTDs and XSDs to -X documentation
- Added public const, and delegate for no public data Notice 35 - Added Notice 50 check for literal 0, configurable in rsm.cfg
- Added Notice 51 for no comment preceding a function block
- Added Notice 52 for no comment preceding a class block
- Added Notice 53 for no comment preceding a struct block
- Added Notice 54 for no comment preceding an interface block - Added compound loc and comment lines to baseline differentials - Fixed -ws report showing incorrect line types - Fixed CSharp generics issue with XML format
- Fixed CSharp issue with comments from embedded array
4/2/2007
Version 7.00
- Added XML reports with -X for all -T and -Wx reports Example -X -O"C:\test.xml" -Td -u"File XSL D:\tmp\Td_example_output.xsl" -F"C:\tmp\new_files.lst" This assume you have created an XSL file D:\tmp\Td_example_output.xsl Using your browser, open the xml file which will create a custom HTML file. An XML tutorial can be found at: http://www.w3schools.com/xml/default.asp An XSL tutorial can be found at: http://www.w3schools.com/xsl/xsl_languages.asp - Added XSL translations for XML Reports using the -u"File XSL path/file" for user custom XSL reports - Added -Td report for total file detail summary reports - Added -kd for enabling descending sort for reports, the default is acending - Added -k7 to -k10 for various sorting methods for -Td option - Changed CSV report switch from -A to -C to match the csv purpose. This now aligns to -H for html, -X for xml file. - Added an indication for UDQN start and stop in the match string when using -xUDQNSHOW. This feature is intended to be designed into testing match locations for UDQNs in future releases. It now provides diagnostics for your search test strings similar to the tool M2RegX. - Added incremental segmentation of extremely large length files for baseline differentials using the longest common sequence algorithm. Previous versions would convert to the Linear-Look-ahead algorithm. Now all files regardless of size will be processed with the LCS algorithm. - Added rsm.cfg options to define special tokens to skip sections of code in a file for machine generated code identified with special tokens. This feature will allow you to skip machine generated code when it is wrapped by special code tokens. Reference the rsm.cfg file after running RSM version 7.0. RSM Code Skip Start Token : RSM_IGNORE_BEGIN
RSM Code Skip End Token : RSM_IGNORE_END
RSM Code Quality Skip Start Token : RSM_IGNORE_QUALITY_BEGIN
RSM Code Quality Skip End Token : RSM_IGNORE_QUALITY_END
Activate RSM code skip tokens : Yes - Added RSMLICHOME to point to a specific license file path/file locations, while RSMHOME can point to the RSM exe and config files. This feature will enable the RSM license file to be hosted an a UNIX server while running the RSM windows exe program.
- Added parser upgrade to parse special syntax of: name :: func
- Modified function ChangeCase for True64 compiler warnings
- Fixed issue for inheritance tree metrics when using wild card input
- Fixed else if issue with QN 22 11/1/2006
Version 6.94
- Added feature to allow RSM to skip processing sections of a source file between text strings RSM_IGNORE_BEGIN to RSM_IGNORE_END.
Example
// RSM_IGNORE_BEGIN Some source code which RSM does not process, count or analyze. // RSM_IGNORE_END - Added feature to allow RSM Quality analysis to skip processing of source code between text strings RSM_IGNORE_QUALITY_BEGIN to RSM_IGNORE_QUALITY END. All RSM processing between these two tokens is enabled except for RSM quality notice analysis. Example // RSM_IGNORE_QUALITY_BEGIN Some source code which RSM processes except for quality notices. // RSM_IGNORE_QUALITY END - Added a setting for the rsm.cfg file to ignore public C# events # Reference Quality Notice No. 35
# Ignore public data events for the C# language
Ignore C# public data events : Yes - Add Quality Notice 50 to the rsm.cfg file to detect a quality notice when, Assignment of a literal value to a variable. Symbolic constants make code more maintainable and understable. - Maintenance issues, fixed multiple switch counts, fixed global static assignment parse and UDQN macro names for function and class scope. 9/12/2006
Version 6.92
- Added user requested feature for function, class, etc., hyperlinks for HTML reports. - Added a page title to all reports when the -S switch is used, enable Wizard functionality. - Added LOC metrics averages per file for all files and languages - Enhanced parser for old style K&R C used in Linux Kernel - Created metrics reports for popular open source projects. 9/5/2006
Version 6.90
- General maintenance release for minor issues. - Added full support for file pattern filters in command line, recursive and file list input modes. - Fixed issue with C Sharp parser for syntax: [SomeSetting(true)]
class SomeClass
- Fixed issue for work file extraction when work files have the same name in
different locations.
- Fixed issue in calculation of Notice 46 for minimum function blank line percent. 8/21/2006
Version 6.88
- Added switch -fd for cyclomatic complexity detailed reporting - Added foreach for C# cyclomatic complexity - Added file name pattern filters to enable the filtering of source code files based on a specific name pattern. Enables the filtering of gui or generated code if the file names have a specific pattern like; .gui. or .generated. etc. File name pattern filter support has been added to the RSM configuration (rsm.cfg)file and the RSM Wizard. Support for file lists only. - Added a user configurable report banner which is displayed on the top and bottom of the report. The banner is set in the RSM configuration file (rsm.cfg). 6/7/2006
Version 6.86
- Added notice 48 for function with no lloc - Added configuration parameter for minimum function LOC for content analysis
- Added notice 49 for function with null or blank parameters - Added configuration parameter for minimum class/struct LOC for content analysis - Added UDQN includes to the user defined quality notice configuration file - Added HTML escapes to user UDQN summary and notice strings - Added RSM configuration file automatic upgrade from older versions - Fixed bug when using #pragma inline=force yielding no function name
- Reworked case-default and break check and added default required break flag
- Fixed bug in setting and testing multiple flags for a UDQN
4/23/2006
Version 6.84
- Maintenance release of very rare issues - Fixed issue when diff file line count squared is greater than 32 bit limit. - Fixed nested #else brace count 2/1/2006
Version 6.82
- Added 2006 Copyright - Added else option to cyclomatic complexity calculation, default is OFF for McCabe compliancy - Fixed issue for cyclomatic complexity for inlined functions using &&. - Added support for .NET 2003 and 2005 project and solution files, use -F proj.sln - Windows binary recompiled under Visual Studio 2005
- Linux binary recompiled under Red Hat Fedora Core 3, linked compatible to all linux 11/14/2005 Version 6.80 - Added UDQN File name to the -hn report - Added PCRE 6.4 Parser to RSM and RSM Regx - Added enhancements to C# parser for @"\" syntax - Added enhancements to parsers for embedded nested strings - Added enhancement to parser for when a EOF completes the last line without a end of line 10/24/2005
Version 6.72
- Added the capability to determine file types from complex versioned ClearCase files. - Fixed an issue with multiline class inheritance specifications and embedded comments. 10/06/2005
Version 6.71
- Under some conditions work diff files could not be located depending on where the work file originated. Added a more robust search algorithm to locate the work dif files relative to the work file. 9/25/2005
Version 6.70
- IMPORTANT - For these new features you will have to regenerate a new rsm.cfg file. Execute: rsm -y > rsm.cfg
- Added the Longest Common Sequence (LCS) algorithm to baseline line metrics differentials. This algorithm is the basis for GNU Diff and WinMerge. RSM enhances the differential analysis by adding the ability to sense the semantic differences of a comment, line of code or logical line of code change. - Some users were inventing their own file extensions for C++ and Java and requested the ability of specifying specific file extensions for specific languages. This feature has been added to the rsm.cfg file. - File and function, class, struct content metrics has been separated so that Quality Notice limites can be specified for the file and (function, class, or struct). - A new intrinsic Quality Notice has been added for blank line count in the file and function, class or struct. - The rsm.cfg file (regenerated, see above) has been reorganized for clarity of purpose for quanity notices. - Added the User Defined Quality notice for Not Checked Flags and End of file emittance. The file rsm_udqn.cfg contains an example of how to set these options for the checking of key strings within a file and emit a notice when they do not occur. 7/24/2005
Version 6.63

- Fixed issues in UNIX/Linux when processing -wd mode and using relative work file names where dif files could not be found. 6/6/2005
Version 6.62

- Modified the metrics differential report such that when using the -wd option, equal code lines are accumulated to show the equality or "reuse" between baselines. This report no longer displays differences for function count, quality notice or complexity as these metrics are derived only for the non -wd mode or for code size differentials. 5/7/2005
Version 6.61

- Modified the diff algorithm to ignore End of Line EOL differences and ASCII non-printable control characters. Enables DOS and UNIX transparency for file differences. 4/30/2005 Version 6.60
-
Added C# to the intrinsic RSM language Set - Added User Defined Quality Notices (UDQN) using Perl Compatible Regular Expressions create unlimited code quality analysis, see configuration - Enhanced the RSM code differential algorithm - Added option -x"UDQNSHOW" to show the loaded UDQNs
- Adapted C++ parser for #define macro var=data syntax for function name identification
- Added logical indicator to the -d deterministic mode
- Added Quality Notice 45 for unbalanced new and Delete counts
- Fixed other files counter
- Fixed Else If Scope Notice Bug
9/6/2004 Version 6.52
- wW switch has been deprecated as it is not compatible with the RSm Wizard and its functionality is duplicated by the -wx switch. - Removed Adminstrator from the Licensed User check. - Clean up of minor report format issues. 6/11/2004 Version 6.51
- Fixed erroneous syntax error message for -w and -F compound options. 6/6/2004 Version 6.50
- Major version change for the unification of switch, option and compound option operatioms. All switches and options are now structured in a consistent manner enabling them to be placed on tbe command line in any order.
Switches: Alway start with a dash i.e. -c -o -a Options: Immediately follow a switch and are a single character or number i.e. -fa -k3 -M4 Compound Options: Immediately follow a switch as an attribute string delimited in quotation marks. These strings have specific syntax, reference the on-line manual. i.e. -O"outputfile.txt" -w"create c:\basedir" -r"h,cpp c:\basedir"
- Changed the -wc to be a compound option where the syntax is now -w"create c:\baseline direcory" where the user specifies baseline directory. - Format change for -r switch: -r"ext,ext,ext,... directory" - Format change for -O switch: -O"filename.ext" - Format change for -F switch: -F"filelist.ext" - Format change for -wx switch: -w"x oldwork.dat, newwork.dat" - Added Directory Subtotals when using -F file list input option. Each directory specified will be subtotaled for metrics. 4/30/2004 Version 6.42
- Fixed case insensitivity with Windows work diff files
- Fixed scoping rules for Notice 22 relative to else keyword 4/20/2004 Version 6.41
- Added program executable permissions to mkdir when using -wd
- Added case insensitivity to work diff file path names
3/31/2004 Version 6.40
- Added new feature to perform source code change differentials.
New work file report, glossary and options -wD -wd -ws -wv This feature is additional to the existing RSM capability to perform baseline size metrics differentials. Reference the
following white paper for detailed information.
Baseline Metrics Differentials -
Added Language Profile to the reports
- Added Show file date and size to the configuration file
- Added Error message when work files reversed in time
- Added status progress indicator when reading files and for
code differential processing, settings are controlled in the RSM configuration file.
- Modified HTML output to be xHTML compliant output
- Fixed -wf dat for when a file does not exist, create work file.
- Comma separated user log for import into spreadsheets
- Portability changes to enable compilation under gcc in Mac OS
- Added Eclipse integration to the users manual
1/3/2004 Version 6.30
- Added RSM Wizard Activation to software license - Added new license encoding, if your are updating to this version and have current maintenance, email support@msquaredtechnologies.com to get a new license file.
- Fixed NonWindows License Error Message
- Updated Java parser 8/12/2003 Version 6.27
- Fixed scoping rules and function identification when using unbalanced braces in preprocessor directives for C and C++ - Added Microsoft .NET C++ compatible parser
- Fixed Nested Switches for break notice outside scope - Added Line Wrap to Command and Config - Fixed termination of HTML reports - Added ATL_NO_VTABLE to rsm_macro - Added -A -Tp to CSV Reports 5/20/2003 Version 6.21 - Fixed buffer overrun for command options greater than 80 characters
- Moved Quality notice 22, Scope error to functional analysis -n -fa 5/05/2003 Version 6.20 (No Version Change) - Added Visual Studio 6, Visual Studio .NET and JBuilder 8
integration to the documentation 4/14/2003 Version 6.20 - Added Windows installer to the Windows products - Added command line information to the beginning of reports
- Added environment variable expansion to -F list files
- Added language metric to summary loc metrics
- Added -x NOCONFIG No configuration file reporting in output"
- Added -x NOCOMMAND No command line reporting in output"
- Added -TL Language Metrics Totals Only
- Added -fa function analysis
- Added -fp function point conversion from LOC Metrics
- Add # lines to verbose
- Add \ continuation lines to verbose 8/23/2002 Version 6.10 - Added the capability in the rsm.cfg file to allow end users to use individual RSM configuration files. This option uses the -u parameter in the following syntax -u "File cfg my.cfg" and must be enabled in the rsm.cfg file that is collocated with the rsm.lic file thus allowing tool administrators to turn the option on or off. Enable user defined configuration files : No - Added customization parameters to the rsm.cfg file to allow the end user to determine which language branching construct contributes to the cyclomatic complexity metric. Include 'function call' in cyclomatic complexity: Yes
Include 'while' in cyclomatic complexity : Yes
Include 'for' in cyclomatic complexity : Yes
Include 'switch' in cyclomatic complexity : No
Include 'case' in cyclomatic complexity : Yes
Include 'if' in cyclomatic complexity : Yes
Include '?' inlined if in cyclomatic complexity : Yes
Include 'goto' in cyclomatic complexity : Yes
Include '||' or 'or' in cyclomatic complexity : Yes
Include '&&' or 'and' in cyclomatic complexity : Yes
- The end user can now customize the metrics that are included in the baseline metrics differential report by using the default rsm_workdiff.cfg file or a user defined configuration file by using the -w "File cfg my_work.cfg" option. The following metrics have been added to the baseline metrics differential report. Function Counts Interface Complexity Overall Complexity Quality Notice Counts RSM can now be configured using the rsm_workdiff.cfg file or a user defined configuration file so that removed files from the baseline can contribute positively or negatively to the overall baseline metrics. LOC_COUNT ON -
ELOC_COUNT ON -
LLOC_COUNT ON -
COMMENT_LINE_COUNT ON -
BLANK_LINE_COUNT ON -
PHYSICAL_LINE_COUNT ON -
FUNCTION_COUNT ON -
CYCLOMATIC_COMPLEXITY ON -
INTERFACE_COMPLEXITY ON -
TOTAL_COMPLEXITY ON -
QUALITY_NOTICE_COUNT ON -
ELOC_PERCENT_DIFF ON -
- Added definitions to the rsm.cfg file for user defined definitions of work minutes per hour, work hours per day, labor shifts per day and work days per week. These parameters are used to determine programmer productivity for the metrics baseline differential report. Work Seconds per Hour : 3600
Work Hours per Shift : 8
Work Shifts per Day : 1
Work Days per Week : 5
Work Hours per Man Day : 8
Work Hours per Man Week : 40
Work Hours per Man Month : 160
Work Hours per Man Year : 1960
- The following options have been added for customizing the output of the metrics differential report. Added -wb for showing productivity basis parameters
Added -we to not process equal files in the differential report Added -w "File cfg path\file" for user defined baseline line metrics differential report configuration Added -w "File dat path\file" for user defined baseline line metrics differential report output data file
Added -wg for a glossary of the terms used in the differential report Added -wm to not process modified files in the differential report Added -wn to not process new files in the differential report
Added -wp for productivity estimate based upon the metrics differential Added -wr to not process removed files in the differential report
- Added the capability for file input in the recursive descent mode to skip specific named directories. These option are in the rsm.cfg file. a new rsm.cfg file can be created with these new option by using the rsm -hc > rsm.cfg syntax. The end user specifies a comma delimited list of directory names. Do not process these local directories : Yes
Local directory names not processed : sccs,cvs,rcs,test
- Added the maintenance date and build date to the program header
- Embedded TABS in strings are ignored for quality notice reports
9/18/2001 Version 6.03 - Modified the eLOC calculation to account for comments on the same line as a standalone brace or parenthesis.
9/1/2001
Version 6.02
- Activated sort keys (-k) for metrics differential reports
- Added M2 Launcher and M2 Information to the distribution as
  free support utilities.
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

divider.jpg (1531 bytes)

Copyright 2008, M Squared Technologies LLC™