## CodeScanner Overview

CodeScanner is a static source code analysis tool for Symbian OS™ programs written in C++.

Static analysis tools delve deep into code, exploring line by line for the sources of defects. CodeScanner is specifically for use with Symbian OS™ code. As well as identifying C++ coding convention deviations, CodeScanner identifies incorrect descriptor usage, cleanup stack errors, UID clashes, and other subtle problems that are hard to track down.

There are two versions of CodeScanner:

- CodeScanner IDE - a plug-in version that integrates with Carbide.c++. This version of CodeScanner provides direct access to the code. Scans can be run through entire projects for all issues; that is, errors, warnings, and non-critical information such as non-adherence to coding conventions.
- CodeScanner command-line - a command line version that integrates into a build system. This version provides statistical summaries of the results of the scan, which are ideal for checking the quality of code submissions.

Using CodeScanner can bring the following benefits to your code and to the development process.

- Finding defects - CodeScanner detects defects directly at the coding stage. Simple but common code defects are found automatically and therefore can be fixed at an early stage. Using CodeScanner reduces the testing, triage, and developer investigation effort in the later stages of development
- Finding obscure defects - CodeScanner can find defects that are intermittent, for example, those that might only occur in low memory conditions. These are difficult to find using conventional testing methods
- Finding deviations from coding convention - detecting deviations from coding conventions facilitates code maintenance and improves the overall quality of code
- Focusing development - cleaning up defects early allows developers to concentrate code reviews on vital design and architectural issues rather than on the more mundane issues, such as badly–named variables, for example
- Defining quality levels - using CodeScanner, build managers can use CodeScanner output to determine submission acceptance
- Educating developers - developers new to Symbian OS™ (or indeed C++) programming gain instant feedback on their code; learning common pitfalls and idioms in the process
- Scan for SDK Specific Porting Issues - CodeScanner can scan your code and detect areas that require modification when porting your application to a new SDK, such as a new touch screen user interface SDK. Porting information and links to additional porting information will be provided as appropriate in the Problems or Console view and context menus. To show information markers in the Problems view make sure that Show > Show All is selected in the View Menu (upside down triangle icon) in the Problems view.