Source Code and SCM Access
CodeBeamer has a built-in interface for SCM (Software Configuration Management) systems. The project members can browse the content of the SCM repository. Beyond the SCM browsing you can comprehend C/C++ and Java code with CodeBeamer.
Support for SCM Repositories
CodeBeamer has a built-in interface for SCM systems, and project members can browse the content of the SCM repository. SCM systems such as CVS, Subversion, PVCS, SourceSafe and CM Synergy are directly integrated, and integration is possible with various other SCM systems via CodeBeamer's API and Apache Ant
http://ant.apache.org
.
The browsing capability includes user's requirements for tracking code changes, associating commits with bugs, browsing repository revisions, commits, branches, and tags.
Figure 4.1 From the Source Code tab you can see commit statistics, browse your SCM repository and comprehend your source code by the means of metrics.
You must login to see this link. Register now, if you have no user account yet.
Browsing an SCM Repository
From the SCM Repository Browser you can view changes, associated commits with bugs. You can browse repository revisions, commits, branches and tags.
Figure 4.2 SCM Directory Browsing.
You must login to see this link. Register now, if you have no user account yet.
Browsing Code Commits
From CodeBeamer you can view/search code commits and browse the list of files that were checked in, including changed files and view all of their associations with tracker artifacts such as bugs, tasks or other work items.
Figure 4.3 SCM Commit Browser.
You must login to see this link. Register now, if you have no user account yet.
You can use the filter to search on code commits by Author, Comment and Commit date.
Source Code Comprehension
Codebeamer provides web-based source code comprehension and browsing features. From the user's viewpoint, the CodeBeamer server acts like a general purpose search engine, such as Google; but its search is source code-specific. General purpose tools find and extract text keywords in different documents. In contrast, CodeBeamer understands the syntax of C/C++ and Java programming languages and extracts data from source-code, understands the programming constructs such as classes and methods and establishes a relationship between these programming constructs by constructing a symbol database.
Figure 4.4 CodeBeamer Code Comprehension Structure and Components.
You must login to see this link. Register now, if you have no user account yet.
With the information from the symbol database, developers are provided with a cross-reference and symbol search. Project managers and QA engineers are provided with instant statistics data to monitor the code changes.
Searching for Symbols
The Source Code Symbols feature lets you search for symbols in the symbol index database. With Search you can search for symbols with filters by name.
Figure 4.5 Symbol Search and cross-referencing. With Filters you can view subsets of large lists of symbols. From a symbol you can view its refers-to and referred-by cross referencing relationship.
You must login to see this link. Register now, if you have no user account yet.
Browsing Cross References
The Cross Reference shows refers-to and referred-by relationships between a selected symbol and others. A symbol can be a class, method, function, variable, etc. Click on the Referred-by icon to see which other symbols use the symbol. Click on the Refers-to icon to see which classes or methods are used by a symbol.
Code Changes Reports
CodeBeamer provides different reports on code changes such as:
- Code Changes Trends,
- Program Symbol Changes Trends and
- C/C++ Violations Over Time.
Figure 4.6 Code Changes Trends. The chart shows the evolution of the number of source code lines over time in weekly or monthly resolution. The Statements column shows the number of executable program statements in the code.
You must login to see this link. Register now, if you have no user account yet.
Program Symbol Changes Over Project Time
The chart shows the number of program symbols such as classes, methods, and functions over-time in weekly or monthly resolution.
You must login to see this link. Register now, if you have no user account yet.
Source Code Metrics
For C/C++ and Java code, CodeBeamer provides different statistics and metrics. To see the statistics and metrics charts, click the
Source Code tab and click the
Trends or
Details links for a metric category. CodeBeamer uses a set of widely accepted tools to do the computation of various metrics.
Similarity Analysis
For similarity analysis the Simian http://www.redhillconsulting.com.au/products/simian/index.html
tool is used. Simian identifies duplication in the source code and even plain text files.
Figure 4.7 Similarity analysis by date.
You must login to see this link. Register now, if you have no user account yet.
PMD Analysis
PMD http://pmd.sourceforge.net/
scans Java source code and looks for potential problems including:
- Empty try/catch/finally/switch blocks.
- Unused local variables, parameters and private methods.
- Empty if/while statements.
- Overcomplicated expressions - unnecessary if statements, for loops that could be while loops.
- Classes with high Cyclomatic Complexity measurements.
Figure 4.8 PMD analysis by date.
You must login to see this link. Register now, if you have no user account yet.
Copy-Paste Analysis
CPD http://pmd.sourceforge.net/cpd.html
detects the number of Copy-Paste occurrences in a project.
Figure 4.9 Copy-paste analysis by date.
You must login to see this link. Register now, if you have no user account yet.
JDepend Analysis
JDepend http://www.clarkware.com/software/JDepend.html
traverses Java class file directories and generates design quality metrics for each Java package. JDepend allows you to automatically measure the quality of a design in terms of its extensibility, reusability, and maintainability to manage package dependencies effectively.
Figure 4.10 JDepend analysis by date.
You must login to see this link. Register now, if you have no user account yet.
Checkstyle Analysis
Checkstyle http://checkstyle.sourceforge.net/
is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this task. This makes it ideal for projects that want to enforce a coding standard.
Figure 4.11 Checkstyle analysis by date.
You must login to see this link. Register now, if you have no user account yet.