Campwood Software
SourceMonitor Version 2.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:
- Collects metrics in a fast, single pass through source files.
- Measures metrics for source code written in C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML.
- Includes method and function level metrics for C++, C, C#, VB.NET, Java, and Delphi.
- Saves metrics in checkpoints for comparison during software development projects.
- Displays and prints metrics in tables and charts.
- Operates within a standard Windows GUI or inside your scripts using XML command files.
- Exports metrics to XML or CSV (comma-separated-value) files for further processing with other tools.
Like all previous versions, this version of SourceMonitor is free. The download is
a fully functional installer contained in a single file, SMSetupV2405.exe. Please download the installation file and give it a try:
Download SourceMonitor V2.4.0.5 (1.54 MBytes): via FTP via HTTP .
Run the downloaded file (SMSetupV2405.exe) to install SourceMonitor.
Click here for a list of all bugs. Please
e-mail bug reports and/or comments to Jim.
Update Notices:
If you would like to receive email notices when SourceMonitor upgrades become available, send Jim an email and request SourceMonitor update notices.
Ratings:
Enhancements Added in Version 2.4:
All Version 2.3 bugs through number 82 have been fixed in this new version. Thanks to all SourceMonitor users who reported bugs and made suggestions for enhancements. Both are much appreciated. This version uses the same project file format as version 2.3.
The following enhancements were added to SourceMonitor version 2.4 (all are described in the new Help file) :
C++:
- SourceMonitor now reports the number of functions in each file and checkpoint.
All languages:
- An option has been added to the Options | General dialog to allow parsing of source code files with UTF-8 encoding. These files will parse correctly as long as all characters in the file are represented by 8 bit codes.
- Added the option to change the file selection filters and refresh the file lists in the Create New Checkpoint dialog.
- Method metrics exports now include the source file line number for each method. For example, before an exported method element looked like this:
<method name="MyClass::Init()">
<complexity>3</complexity>
<statements>17</statements>
<maximum_depth>2</maximum_depth>
<calls>15</calls>
</method>
This element now looks like this:
<method name="MyClass::Init()" line="55">
<complexity>3</complexity>
<statements>17</statements>
<maximum_depth>2</maximum_depth>
<calls>15</calls>
</method>
Enhancements Added in Version 2.3:
All Version 2.2 bugs through number 62 have been fixed in this new version. Thanks to all SourceMonitor users who reported bugs and made suggestions for enhancements. Both are much appreciated. This version uses the same project file format as version 2.2.
The following enhancements were added to SourceMonitor version 2.3 (all are described in the new Help file) :
VB.NET:
- SourceMonitor now supports VB.NET 2005. The metrics collected for VB.NET are the same as those provided for C#.
All languages:
- SourceMonitor now checks for and rejects source code files that use UTF encoding. This judgement is based on the first three or four bytes in each file, where the UTF file format is specified. UTF-8, UTF-16, and UTF-32 encoding, both big-endian and little-endian, are detected and rejected. Even when such files have one of the extensions specified for a project's language, the file may not be included in a new checkpoint.
- Sort direction icons now appear in the headers of columns in the Project View, the Checkpoint View, and the Method View. These triangular icons show the column on which the data is sorted and the direction of the current sort.
- Each language can now have an optional list of excluded file extensions in addition to the current list of included file extensions. (The latter are identified as the "Filter" property in a SourceMonitor project.) Both file extension lists are used to suggest files to be included in a new checkpoint. Excluded file extensions were added to allow you to exclude files created and maintained automatically for C# and VB.NET applications developed with Microsoft's Visual Studio. For example, in C# these files have extension "*.Designer.cs" while normal code files have extension "*.cs".
- Three new elements have been added to SourceMonitor's command file language:
- <export_all_checkpoints/> This is a boolean element: when it is present, this element causes SourceMonitor to ignore any checkpoint specified in a command and export all checkpoints in the designated project.
- <export_option> This element can be used to specify export options other than those already set on the "Export" tab in SourceMonitor's "Options" dialog. For example, if you have selected "Include method-level metrics counts in XML details exports" in the "Options" dialog, you can use the <export_option> element to specify a command line export that does not include method-level metrics without changing that option in SourceMonitor's current options.
- <export_insert> The string value in this element is inserted between "<?" and "?>" on the second line of an XML export file. This value can be used to specify a stylesheet for the display of exported metrics in a web browser. For example, xml-stylesheet type='text/xsl' href='SourceMonitor.xslt'.
Each of these elements must appear inside an <export> element.
Enhancements Added in Version 2.2:
All Version 2.1 bugs through number 58 have been fixed in this new version. Thanks to all SourceMonitor users who reported bugs and made suggestions for enhancements. Both are much appreciated. This version uses the same project file format as version 2.1.
The following enhancements were added to SourceMonitor version 2.2 (and described in the new Help file) :
All languages:
- A new metric, average complexity, has been added for all languages that include complexity metrics. This new metric is displayed in a new column to the right of the average block depth metric in both the Project View and the Checkpoint View. Average complexity has been added to the default metrics displayed in Kiviat diagrams. This metric is also displayed in the Metrics Details Dialogs and exported in both the XML and CSV export formats.
- A new button has been added to the Metrics Details Dialog that you can use to copy the text displayed in the dialog to the Windows clipboard. Once on the clipboard, you can paste into any program that manipulates text such as Microsoft Word or Dreamweaver.
- The browse for directory now opens with your current working directory highlighted (so you don't have to select all the way down from the top each time).
- The metrics parsers for most languages have been improved, especially for complex code with implied blocks following branch statements such as if or while.
Enhancements added
in previous versions are listed here.
Campwood
Home Page