
                FAQ - Frequently Asked Questions

Questions
--------------------------------------------------------------------
Q. Can RSM be used on my operating system?
Q. How do I compile RSM?
Q. How do I order RSM?
Q. How do I upgrade my license?
Q. Will RSM process more than one file at a time?
Q. How do I get a simple summary listing of LOC for all C files in
   my directory.?
Q. How do I get the most information from rsm?
Q. How can I tell what RSM thinks of my source code? Just what is a 
   line of code?
Q. Can RSM enforce my SDP or software coding standards?
Q. How do I customize RSM?
Q. How can I use RSM in automated processing like using AWK?
Q. Can RSM determine cylcomatic complexity like Cadre Teamwork?
Q. Does RSM handle templates?
Q. Will RSM find nested function in functions or macros defined
   within functions?
Q. Has Pure Software's Purify been run on RSM?
Q. Does RSM support long file names?
Q. Does RSM support Java?
Q. How do I process a list of files?
Q. How do I recurse a directory tree to gather metrics?
Q. Can rsm tell if my C source code contains ant C++ keywords
   which would prevent the C code from compiling on a C++ compiler.
Q. For RSM 3.00+ I get a can't find cygwin.dll.  What is this?
Q. How do I calculate metrics differentials?
Q. How can I process two different work files?
Q. How do I extract comments from the source code?
Q. What happened to the -t terse output mode?
Q. As a manager, how can I track what my developers are doing?

FAQ
--------------------------------------------------------------------

Q. Can RSM be used on my operating system?
A. If you have the gcc compiler, the answer probably is yes.  How can
   I be sure it will work for me.  Evaluate RSM to see if you are
   interested in it.  Register a commercial license and you will
   receive the latest Windows 95/NT/DOS and Linux Build with
   compilable source code.  Simply compile it on you system.  Money
   Back Guaranteed for cross compilation.

Q. How do I compile RSM?
A. Compilation assumes your operating system has a compiler.  This is
   probably the case since you are writing source code.  Typical
   compilation commands are as follows or you can use the sample
   Imakefile.
               gcc -O3 -o rsm rsm20.c (optimized gcc)
               cc -o rsm rsm20.c      (standard Ansi C compile)

Q. How do I order RSM?
A. To order RSM, simply FAX a purchas order or send a check to
   M Squared Technologies.  You will receive a license to use RSM,
   RSM utilities and compilable source code bound under the license
   aggrement.
                 M Squared Technologies
                 2128 Hidden Pine Lane
                 Apopka, FL 32712
                 USA

                 Phone/Fax:  (407) 880-2627
                 Email    :  m2tech@tqnet.com
                 Web Site :  http://207.92.81.101

Q. How do I upgrade my license?
A. Any license can be upgraded.  The amount of a non-network license
   can be applied to the purchase of a network license.  Any license
   can be upgraded to the latest version for a 50% discount off the 
   listed price for that particular type of license.

Q. Will RSM process more than one file at a time?
A. Yes, absolutely!  Except the shareware version is limited to processing
   one file at a time.  Typically RSM is used with wild cards like;
   rsm *.c *.h; rsm ./inc/*.h ./src/*.c etc..

Q. How do I get a simple summary listing of LOC for all C files in
   my directory?
A. rsm *.c

Q. How do I get the most information from rsm?
A. rsm -facmnv *.c *.h

Q. How can I tell what RSM thinks of my source code? Just what is a line of
   code?
A. Use the -d option on a source file to see what RSM determines for you
   source code.

   rsm -d testfile.c

   The output is very verbose as it will echo your code line for line, then
   display a RSM state.

Q. Can RSM enforce my SDP or software coding standards?
A. Yes RSM analyzes code code for over 20+ of the top code problems
   addressed by most commercial SDP or coding standards.  Reference
   the -h, help text from the program or rsmhelp.txt.

Q. How do I customize RSM?
A. Run RSM -q to set up which quality notices to apply, then set the
   environment variables listed in the help text.

Q. How can I use RSM in automated processing like using AWK?
A. Use the -t option for a terse output in the expression format of:
   <keyword>: LoC <keyword>: eLoC <keyword>: comments ...

Q. Can RSM determine cylcomatic complexity like Cadre Teamwork?
A. Yes, RSM will produce the same cyclomatic complexity values in 1/100
   the time require to run Ensemble.

Q. Does RSM handle templates?
A. Yes, RSM is completely compliant with template syntax.

Q. Will RSM find nested function in functions or macros defined
   within functions?
A. RSM is designed to be used on compiled code.  It is a real poort
   design which nests functions in functions or macros in functions.
   Parsing this type of construct requires recursion.  Recursion is
   expensive for performance.  RSM will not recoginize this nested
   constructs as the lexical analyzer and parser is a single pass
   nonrecursive design for extreme performance.

Q. Has Pure Software's Purify been run on RSM?
A. Yes, although we do not own a license for Purify, one of
   our customers has run this analysis and reports 0 errors
   and 0 leaks.

Q. Does RSM support long file names?
A. Yes RSM supports long file name, LFN, under UNIX and
   Windows 95.  RSM support long file names in UNIX and
   Windows 95.  The NT 4.0 long file name format is now
   supported as of RSM version 3.0.

Q. Does RSM support Java?
A. Yes RSM 3.0 will process Java code as C++ and yield
   the correct metrics.  Future versions of RSM will 
   support the Java language extensions.

Q. How do I process a list of files?
A. Use the -F format available in Version 2.30

Q. How do I recurse a directory tree to gather metrics?
A  Use the -r option

   Syntax: rsm <options> -r <extension,extension> <directory>

   ie.
   rsm -famcnv -r c,h,cc,hh,cpp c:\projects

Q. Can rsm tell if my C source code contains ant C++ keywords
   which would prevent the C code from compiling on a C++ compiler?
A. Yes rsm 2.50 checks for all C++ keywords within C files.  Use the
   -q option to change this configuration.

Q. For RSM 3.00+ I get a can't find cygwin.dll.  What is this?
A. RSM 3.00 for Windows 95 and NT require a shared library called
   cygwin.dll.  This file must be copied to the \windows\system
   directory or available in the directory where rsm.exe resides.

Q. How do I calculate metrics differentials?
A. 1) Go to the base of the source tree you which to process.
   2) Run rsm to create a work file and recurse the source tree.

      rsm -wr c,cpp,h,hh ./

      This step create a file named rm120219.97.  This file contains
      the metrics for the source tree.

      The -w mode always create a file workfile.dat.  This file
      is the last metrics differential run and is automatically
      used in the -W mode

   3) Test the file by running differentials on the last -w run.

      rsm -Wr c,cpp,h,hh ./

      You should see a metrics differential report with all zeros.

Q. How can I process two different work files?
A. Run rsm using the -x mode specifying the oldest file first.

   rsm -x rm092719.97 rm120219.97

Q. How do I extract comments from the source code?
A. Use the -C mode.

   rsm -C *.c

Q. What happened to the -t terse output mode?
A. This mode was moved to the -A mode signifying 'Automatic'.

Q. As a manager how can I track what my developers are doing?
A. Create work files on a known source tree and using the
   metrics differentials.


Last Update 12/02/97
