Campwood Logo  

Campwood Software


SourceMonitor Version 3.4

The freeware program SourceMonitor lets you see inside your software source code to find out how much code you have and to identify the relative complexity of your modules. For example, you can use SourceMonitor to identify the code that is most likely to contain defects and thus warrants formal review. SourceMonitor, written in C++, runs through your code at high speed, typically at least 10,000 lines of code per second. SourceMonitor provides the following:

Enhancements added in Version 3.4 are detailed below. Like all previous versions, this version of SourceMonitor is free [view license]. The download is a fully functional installer contained in a single file, SMSetupV346.exe. Please download the installation file and give it a try:

Download SourceMonitor V3.4.6.297 (2.41 MBytes):   via HTTP. Run the downloaded file (SMSetupV346.exe) to install SourceMonitor.

Help support SourceMonitor:

Click here for a list of all bugs. Please e-mail bug reports and/or comments to Jim. To download upgrade files only, click here.

Update Notices:

If you would like to receive email notices when SourceMonitor upgrades become available, send Jim an email and request SourceMonitor update notices.


SourceMonitor is listed in several software catalogs where you can check out other's ratings or add your own:

C|Net Programmers Heaven Freeware Files Softpedia 100% Clean
SourceMonitor is editor's pick at SourceMonitor antivirus scan report at SourceMonitor Download - SourceMonitor Download -

Enhancements Added in Version 3.4 [May 1, 2013]:

All bugs through number 201 have been fixed in this new version. Thanks to all SourceMonitor users who reported bugs and made suggestions for enhancements. Both are much appreciated.

1) New export to XML or CSV files for method metrics.

2) Ehnanced command line flag /D (display details) to include options ignore headers, modified complexity, and ignore blank lines.

3) New option in command language to exclude specific files.

Enhancements Added in Version 3.3 [July 24, 2012]:

All bugs through number 189 have been fixed in this new version. Thanks to all SourceMonitor users who reported bugs and made suggestions for enhancements. Both are much appreciated.

1) Added a new project-level option to ignore blank lines in the Lines metric.

2) Added the option to save all options in a Windows "ini" file instead of in the Windows Registry. This option is used when you have defined a Windows environment variable (SOURCE_MONITOR_INI_FILE) that contains the path to your "ini" file.

3) Added a Find method to Method View, Checkpoint View and Source Code View so you can search for a method name, a checkpoint name, or a file name.

Enhancements Added in Version 3.2 [November 4, 2011]:

All bugs through number 181 have been fixed in this new version. Thanks to all SourceMonitor users who reported bugs and made suggestions for enhancements. Both are much appreciated.

1) Added log messages for additional processing states and errors (including rejection of UTF-8 files when the UTF-8 option isn't set).

2) Added a new flag to the script language, <log_all_to_console /> that causes all log messages to me displayed on the console in addition to writing to the log file. (Note: the element <log_to_console /> has errors only displayed on the console.)

3) Added display of file counts to the new checkpoint dialog.

4) Added a new element to the script lanuage to change the way the project file path is resolved. The <project_file> element contents, if relative, are resolved relative to the current working directory. The new element, <project_file_wrt_script>, can be used instead when you want relative pathnames to be resolved relative to the script file directory.

5) Added new raw number option for export of metrics to CSV file.

6) Added option to display measured maximum depth (instead of "9+" when measured maximum is more than 9).

Enhancements Added in Version 3.1 [August 18, 2011]:

All bugs through number 149 have been fixed in this new version.

The following enhancements were added to SourceMonitor version 3.1 (all are described in the new Help file) :

1) Fast project load option (new project file format). Old projects are converted automatically (original project file is preserved) if you opt to use the new format. Note: If you use command files, you may want to change the project file extension in your script.

2) Option to define checkpoint files from an XML file (such as the one your IDE uses to define the properties of a project). Instead of searching a directory hierarchy for files with specified extensions, SourceMonitor can extract the source code files for a checkpoint from one or more XML files. Now you can create a project from source files scattered across one or more disks.

3) Source code directories can be specified relative to the project file. If you move the project file along with the source code, you no longer have to edit the project properties to correct the source code base directory.

4) Checkpoints can have different base directories. This is for developers who save each version of source code in a different directory and want to have each version in a SourceMonitor checkpoint. In a script, you can specify the source code directory for an existing project. This directory is used in the script command to create a new checkpoint, but the project properties are not changed.

6) To accommodate Windows 7 security , the log file is in a new location: Users\Public\PublicDocuments\Campwood Software\SourceMonitor

In addition, the previous log is preserved when you start up SourceMonitor. When you view the log file by clicking on menu item View | View Log File, you will see the previous as well as the current log in Notepad.

Enhancements added in previous versions are listed here.

Campwood Home Page