RSM Configuration

RSM is configured using a configuration file.  The following is an example of this configuration file.  Lines with the # symbol are comment lines to the RSM configuration parser.  You may specify options or turn On/Off settings by specifying Yes or No for the option.

The RSM configuration file can be generated and checked by using: rsm -hc > rsm.cfg.  The rsm.cfg file is stored in the same directory as the rsm.lic or license file.

# Resource Standard Metrics Version 6.01
# Configuration Data File

# This output creates a template for rsm.cfg.  RSM uses this file
# for configuring its operation.  This file is a text file and
# must exist in the RSM directory upon the system path or at
# at a location specified by the environment variable RSMHOME.
# Failure to locate a rsm.cfg file will put RSM into default mode.

# Lines beginning with the # sign are comments in this file.
# Specific text lines before the colon must appear exactly as
# written.  You may changed the value after the colon to either
# a Yes or No or to a specified value.

# The following will tell you where RSM found the RSM license file
# (rsm.lic) and the RSM configuration file (rsm.cfg)

# Current Working Dir.: c:\rsm
# Located License File: c:\rsm\rsm.lic
# Located Config. File: c:\rsm\rsm.cfg
# Located Use Log File: c:\rsm\rsm.log
# Located Macro File  : c:\rsm\rsm_macro.cfg

# The following is the current configuration data

####################################################################
# RSM Operational Configuration ####################################

# Windows 9x and DOS are case insensitive file systems.
# Files like foo.c and foo.C are seen as C source files.
# If *.C files are C++ files under these operating systems
# or you are operating on NT or UNIX set this option to
# case sensitivity equal to Yes.
Source file names are case sensitive    : No

# RSM will process only files with the following extensions.
# The user may add to this list, but RSM is designed to process
# only the C, C++ and Java languages.
Validate file extensions for processing : Yes
Allowable source code extensions        : c,cc,cpp,cxx,C,CC,h,hh,H,hxx,java,jav

# Names in reports include file, namespace or package, class
# and function names.  These names can get quite long and will
# extend beyond the report right margin.  This setting will
# wrap the name to the report right margin.
Wrap long names in reports              : Yes

# The following path location specifies where work files
# are to be created.  The path must be a location with write
# permissions.  RSM will create work files in the current
# directory if no path is specified.
Work file location path                 : 

# The following parameter, when set to Yes will include
# files that are the "same" in metrics differential reports.
# The number of files with no difference can be large
# therefore, the default setting is No.
Differential reports include equal files: Yes

# Work file generation normally calculates the functional
# cyclomatic complexity.  This turns on functional analysis
# in the report output.  You can turn off this metric with
# the following setting.
Include cyclo complexity in work files  : Yes

# The following parameter, when set to Yes will cause
# the files stored into work files to be relative to the
# location where RSM began processing.
Relative Work Files                     : Yes

####################################################################
# RSM Quality Notices Configuration ################################

# Quality Notice No. 1
# Emit a quality notice when the physical line length
# is greater than the specified number of characters.
Quality Notice 1                        : Yes
Maximum Line Length                     : 80

# Quality Notice No. 2
# Emit a quality notice when the function name length
# is greater than the specified number of characters.
Quality Notice 2                        : Yes
Maximum Function Name Length            : 32

# Quality Notice No. 3
# Emit a quality notice when ellipsis '...' are identified
# within a functions parameter list thus enabling variable
# arguments.
Quality Notice 3                        : Yes

# Quality Notice No. 4
# Emit a quality notice if there exists an assignment
# operator '=' within a logical 'if' condition.
Quality Notice 4                        : Yes

# Quality Notice No. 5
# Emit a quality notice if there exists an assignment
# operator '=' within a logical 'while' condition.
Quality Notice 5                        : Yes

# Quality Notice No. 6
# Emit a quality notice when a pre-decrement operator '--'
# is identified within the code.
Quality Notice 6                        : Yes

# Quality Notice No. 7
# Emit a quality notice when a pre-increment operator '++'
# is identified within the code.
Quality Notice 7                        : Yes

# Quality Notice No. 8
# Emit a quality notice when the 'realloc' function
# is identified within the code.
Quality Notice 8                        : Yes

# Quality Notice No. 9
# Emit a quality notice when the 'goto' function
# is identified within the code.
Quality Notice 9                        : Yes

# Quality Notice No. 10
# Emit a quality notice when the Non-ANSI function
# prototype is identified within the code.
Quality Notice 10                       : Yes

# Quality Notice No. 11
# Emit a quality notice when open and closed brackets
# '[ ]' are not balance within a file.
Quality Notice 11                       : Yes

# Quality Notice No. 12
# Emit a quality notice when open and closed parenthesis
# '( )' are not balance within a file.
Quality Notice 12                       : Yes

# Quality Notice No. 13
# Emit a quality notice when a 'switch' statement does
# not have a 'default' condition.
Quality Notice 13                       : Yes

# Quality Notice No. 14
# Emit a quality notice when these are more 'case' conditions
# than 'break', 'return' or 'fall through' comments.
Quality Notice 14                       : Yes

# Quality Notice No. 15
# Emit a quality notice when a friend class
# is identified within the code.
Quality Notice 15                       : Yes

# Quality Notice No. 16
# Emit a quality notice when function white space
# percentage is less than the specified minimum.
Quality Notice 16                       : Yes
Minimum Whitespace Percent              : 10.00 

# Quality Notice No. 17
# Emit a quality notice when function comment
# percentage is less than the specified minimum.
Quality Notice 17                       : Yes
Minimum Comment Percent                 : 10.00 

# Quality Notice No. 18
# Emit a quality notice when the eLOC within a
# function exceeds the specified maximum.
Quality Notice 18                       : Yes
Maximum Function LOC                    : 200

# Quality Notice No. 19
# Emit a quality notice when file white space
# percentage is less than the specified minimum.
# Consider setting Notice 30 to No.
Quality Notice 19                       : Yes
A TAB is equivalent to n space          : 2

# Quality Notice No. 20
# Emit a quality notice when file comment
# percentage is less than the specified minimum.
Quality Notice 20                       : Yes

# Quality Notice No. 21
# Emit a quality notice when a file does not contain
# the specified key string.
Quality Notice 21                       : No
RSM KEY String                          : 

# Quality Notice No. 22
# Emit a quality notice when each if, else, for
# or while is not bound by scope.
Quality Notice 22                       : Yes

# Quality Notice No. 23
# Emit a quality notice when the '?' or the implied
# if-then-else construct has been identified.
Quality Notice 23                       : Yes

# Quality Notice No. 24
# Emit a quality notice when an ANSI C++ keyword
# is identified within a *.c or a *.h file.
Quality Notice 24                       : Yes

# Quality Notice No. 25
# When analyzing *.h files, treat header files as
# both C and C++.  If you use .hh for C++ and .h
# for C, then set this option to No.
Quality Notice 25                       : Yes

# Quality Notice No. 26
# Emit a quality notice when a void * is identified
# within a source file.
Quality Notice 26                       : Yes

# Quality Notice No. 27
# Emit a quality notice when the number of function
# return points is greater than the specified maximum.
Quality Notice 27                       : Yes
Maximum functional return points        : 1
Count goto as a function return point   : Yes

# Quality Notice No. 28
# Emit a quality notice when the cyclomatic complexity
# of a function exceeds the specified maximum.
Quality Notice 28                       : Yes
Maximum functional cyclomatic complexity: 10

# Some interpret the 'for' loop as repetition
# rather than a logical branch in cyclomatic complexity
Include 'for' in cyclomatic complexity  : Yes

# Quality Notice No. 29
# Emit a quality notice when the number of function
# input parameters exceeds the specified maximum.
Quality Notice 29                       : Yes
Maximum functional interface complexity : 6

# Quality Notice No. 30
# Emit a quality notice when a TAB character is identified
# within the source code.  Indentation with TAB will create
# editor and device dependent formatting.
Quality Notice 30                       : Yes

# Quality Notice No. 31
# Emit a quality notice when class/struct comment
# percentage is less than the specified minimum.
Quality Notice 31                       : Yes

# Quality Notice No. 32
# Emit a quality notice when 'using namespace'
# has been identified in a C++ source file.
Quality Notice 32                       : Yes

# Quality Notice No. 33
# Emit a quality notice when a class/struct definition
# is identified within a function definition.
Quality Notice 33                       : Yes

# Quality Notice No. 34
# Emit a quality notice when a class definition
# contains a pointer to a data item.
Quality Notice 34                       : Yes

# Quality Notice No. 35
# Emit a quality notice when a class definition
# contains public data.
Quality Notice 35                       : Yes

# Quality Notice No. 36
# Emit a quality notice when a class definition
# contains protected data.
Quality Notice 36                       : Yes

# Quality Notice No. 37
# Emit a quality notice when a base class, with virtual
# functions, does not contain a virtual destructor.
Quality Notice 37                       : Yes

# Quality Notice No. 38
# Emit a quality notice when exception handling is
# present within a function.
Quality Notice 38                       : Yes

# Quality Notice No. 39
# Emit a quality notice when the number of class/struct methods
# exceed the specified maximum (public, protected and private).
Quality Notice 39                       : Yes
Maximum number of methods per class     : 100

# Quality Notice No. 40
# Emit a quality notice when the depth of the inheritance
# tree exceeds the specified maximum value.
Quality Notice 40                       : Yes
Maximum depth of inheritance tree       : 4

# Quality Notice No. 41
# Emit a quality notice when the number of direct derived
# classes exceeds the specified maximum value.
Quality Notice 41                       : Yes
Maximum number of derived child classes : 10

# Quality Notice No. 42
# Emit a quality notice when the multiple inheritance
# has been identified.
Quality Notice 42                       : Yes

# Quality Notice No. 43
# Emit a quality notice when the keyword 'continue'
# has been identified.
Quality Notice 43                       : Yes

# Quality Notice No. 44
# Emit a quality notice when the keyword 'break'
# has been identified outside a 'switch' logic
# control structure.
Quality Notice 44                       : Yes

####################################################################
# Code Listing Report Configuration ################################

# The following parameters setup source code printing.
# These values become the default settings.
Printed Line Length                     : 80
Printed Page Length                     : 55
Printed Left Margin                     : 5
Printed Top Margin                      : 1
Printed Page Header                     : RSM Code Listing
Page breaks in code print format        : No

####################################################################
# HTML Report and Color Configuration ##############################

# The following parameters setup HTML report output.  The hyperlinks
# for source code can be either absolute or relative.
Relative HTML Links                     : Yes

# The following color parameters modify the HTML report
# output.  Colors can be specified as Hex or Name.
# Blank color parameters will result to the browser default.
HTML Text Color                         : #000000
HTML VLink Color                        : #660099
HTML Link Color                         : #0000EE
HTML Background Color                   : 
HTML Function Color                     : GREEN
HTML Macro Color                        : TEAL
HTML Class Color                        : PURPLE
HTML Notice Color                       : RED
HTML Header Color                       : BROWN
HTML Green Color                        : GREEN
HTML Blue Color                         : BLUE
HTML Red Color                          : RED
HTML Teal Color                         : TEAL
HTML Maroon Color                       : MAROON
HTML Purple Color                       : PURPLE
HTML Brown Color                        : BROWN
####################################################################
# end of rsm.cfg

divider.jpg (1531 bytes)

(Last Update: June 22, 2001)
Copyright 2001, M Squared Technologies