SLAC PEP-II
BABAR
SLAC<->RAL
Babar logo
HEPIC E,S & H Databases PDG HEP preprints
Organization Detector Computing Physics Documentation
Personnel Glossary Sitemap Search Hypernews
Unwrap page!
Comp. Search
Who's who?
Meetings
FAQ Homepage
Archive
Environment
Administration
New User Info.
Web Info/Tools
Monitoring
Training
Tools & Utils
Programming
C++ Standard
SRT, AFS, CVS
QA and QC
Remedy
Histogramming
Operations
PromptReco
Simulation Production
Online SW
Dataflow
Detector Control
Evt Processing
Run Control
Calibration
Databases
Offline
Workbook
Coding Standards
Simulation
Reconstruction
Prompt Reco.
BaBar Grid
Data Distribution
Beta & BetaTools
Kanga & Root
Analysis Tools
RooFit Toolkit
Data Management
Data Quality
Event display
Event Browser
Code releases
Databases
Check this page for HTML 4.01 Transitional compliance with the
W3C Validator
(More checks...)

Using CodeWizard at SLAC

CodeWizard is a commercial C++ developer's tool designed to check for poor coding styles as identified by Scott Meyers' books Effective C++ and More Effective C++. Stanford/SLAC currently has three (3) floating licenses for running this software and it operates on all BABAR-supported platforms. CodeWizard is a companion tool to Insure++, and it is expected that CodeWizard users will also be Insure++ users. This page provides a mini-reference for getting started with CodeWizard. Note that this page refers to CodeWizard version 2.0.

Last edit: 12 May 1998



Documentation

All relevant documentation for setting up, configuring, running and interpreting the output of CodeWizard is available on-line in both html and PostScript formats.
  • Online version of the CodeWizard User's Guide as html or ps
    (Note: We only have documentation for the Unix/C++ version of CodeWizard -- not Windows or Java).
  • Available architectures
  • IBM AIX v4
  • Sun Solaris v2
  • DEC Unix v4
  • HP HP-UX v10
  • Intel Linux
  • Common CodeWizard commands ( man pages)
    codewizard
    Replacement command for compiling and linking
    insra
    INSure++ Report Analyzer - GUI for investigating CodeWizard output reports
    psrcdump
    List all current CodeWizard and Insure++ options in effect

  • Getting started

    1. Make the necessary CodeWizard executables and man pages visible to your login session. For example, execute the following script or put it into your ~/.cshrc file. Note this is the same setup script that is used for Insure++; if you are already set up for Insure++, this step is unnecessary. This example is only for csh or tcsh users.
      $ source $BFROOT/package/ParaSoft/current/parasoft.csh
      
      
    2. Create an CodeWizard configuration file. Save the following in your personal $HOME/.psrc. This is your primary configuration file. You may override the settings in this file on a directory-by-directory basis by simply providing a secondary configuration file which has the same name, .psrc, with those new settings you wish to override. A number sign in column one denotes a comment.

      Note that this is the same configuration file used by Insure++; if you already have a version of this file, simply integrate the extra lines into the existing file.

      # sample.psrc
      #
      # Store the report in a file: <pgm-name>-errs.<time-stamp>
      #
      codewizard.compile.report_file stderr
      codewizard.runtime.report_file %v-errs.%D
      #codewizard.report_file insra
      #
      # Insra (report analyzer) options
      #
      #insra.visual emacs +%l %f 
      
      
      Note that CodeWizard comes with a nice interactive GUI for interpreting your error reports. If you wish to use this GUI, called insra, you need only uncomment the codewizard.report_file insra in your .psrc file. If you do this, then you may wish to also select your favorite text editor in another configuration called insra.visual (by default you will get vi).

    Examples provided by CodeWizard

    A number of example codes are provided by ParaSoft. They are located in $CODEWIZARD/codewizard/examples. As a first step, follow the instructions for the simple example in the CodeWizard User's Guide.
    This page is currently maintained by Tom Glanzman. If you experience a problem with Insure++ (either the code itself, the installation or documentation), please report this to the BABAR problem tracking system.