JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.
Chapter 17. How to Resolve Issues
This section summarizes issues and how they can be resolved.
Contents
Search
1. Sonargraph's Next Generation - Sonargraph 9
2. Licensing
2.1. Getting an Activation Code or a License
2.2. Activation Code Based Licensing
2.3. Proxy Settings
2.4. License Server Settings
3. Getting Started
3.1. Installation and Updates
3.2. Help
3.3. Editor Preferences
3.4. License Server Preferences
3.5. Proxy Preferences
3.6. Update Site Preferences
3.7. C/C++ Compiler Definitions
3.7.1. Failed Generated Compiler Definitions
3.8. C# Configuration
3.8.1. C# Build Executor Configuration
3.9. Search Path Configuration
3.10. Python Configuration
4. Getting Familiar with the Sonargraph System Model
4.1. Physical File Structure
4.2. Language Independent Model
4.3. Language Specific Models
4.3.1. Java Model
4.3.2. C++ Model
4.3.3. C# Model
4.3.4. Python Model
4.4. Logical Models
4.4.1. System-Based Logical Model
4.4.2. Module-Based Logical Model
5. Creating a System
5.1. Quality Model
5.1.1. Importing a Quality Model
5.1.2. Exporting a Quality Model
6. Adding Content to a System
6.1. Creating or Importing a Java Module
6.1.1. Importing Java Modules Using an Eclipse Workspace
6.1.2. Importing Java Modules from IntelliJ
6.1.3. Importing Java Modules from Maven POM File
6.1.4. Creating a Java Module Manually
6.2. Creating or Importing a C++ Module
6.2.1. Importing C++ Modules from Visual Studio 2010 Files
6.2.2. Importing C++ Modules Using Make Command Capturing Files
6.2.3. Creating a C++ Module Manually
6.3. Creating or Importing a C# Module
6.3.1. Importing C# Modules Using a Visual Studio Project File
6.3.2. Importing C# Modules Using a Visual Studio Solution File
6.3.3. Creating a C# Module Manually
6.3.4. C# Module Configuration
7. Interacting with a System
7.1. User Interface Components
7.1.1. Menu Bar
7.1.2. Tool Bar
7.1.3. Notifications Bar
7.2. Common Interaction Patterns
7.2.1. Special Graphic Elements Decorations
7.3. Sonargraph Workbench
7.4. Navigating through the System Components
7.5. Exploring the System Namespaces
7.6. Managing the System Files
7.7. Managing the Workspace
7.7.1. Definition of Filters, Modules and Root Directories
7.7.2. Managing Module Dependencies
7.7.3. Creating Workspace Profiles for Build Environments
7.8. Analyzer Execution Level
7.9. Analyzing Cycles
7.9.1. Revising Cycle Groups
7.9.2. Inspecting Cyclic Elements
7.9.3. Breaking Up Cycles
7.10. Exploring the System
7.10.1. Concepts for System Exploration
7.10.1.1. Focus Concept
7.10.1.2. Focus Modes
7.10.1.3. Transitive Dependencies
7.10.1.4. Exploration and Graph-based Views Properties
7.10.1.5. Creating Views Exploration and Graph Based views
7.10.1.6. Applying Focus
7.10.1.7. Semantics of Colors
7.10.2. Tree Based System Exploration
7.10.2.1. Drilldown
7.10.2.2. Extending the Focus
7.10.2.3. Removing Elements From Focus
7.10.2.4. Interaction with Auxiliary Views
7.10.2.5. Expand Dependency to Component Level
7.10.2.6. Context Menu Interactions
7.10.2.7. View Options
7.10.3. Graph Based System Exploration
7.10.3.1. Levels
7.10.3.2. On Demand Cycle Groups
7.10.3.3. Interaction with Auxiliary Views
7.10.3.4. Context Menu Interactions
7.10.3.5. Type Based Graph
7.10.3.6. View Options
7.10.4. Tabular System Exploration
7.10.4.1. Drilldown
7.10.4.2. Interaction with Auxiliary Views
7.10.4.3. Context Menu Interactions
7.11. Searching Elements
7.11.1. Searching Elements in Views
7.12. Detecting Duplicate Code
7.12.1. Configuration of Duplicate Code Blocks Computation
7.13. Examining the Source Code
7.13.1. Interaction with Auxiliary Views
7.14. Examining Metrics Results
7.15. Analyzing C++ Include Dependencies
7.16. Creating a Report
7.17. Restructure and Organize Code
7.17.1. Session View
8. Handling Detected Issues
8.1. Using Virtual Models for Resolutions
8.2. Examining Issues
8.3. Ignoring Issues
8.4. Defining Fix And TODO Tasks
8.5. Editing Resolutions
9. Simulating Refactorings
9.1. Creating Delete Refactorings
9.2. Creating Move/Rename Refactorings
9.3. Managing Refactorings
9.4. Best Practices
10. Extending the Static Analysis
10.1. Interaction with Auxiliary Views
10.2. Groovy Scripts From Quality Model
10.3. Creating a new Groovy Script
10.3.1. Default Parameters in a Script
10.3.2. Adding Parameters
10.3.3. Creating Run Configurations
10.4. Editing a Groovy Script
10.4.1. Auto Completion
10.4.2. Compiling a Groovy Script
10.5. Producing Results with Groovy Scripts
10.6. Running a Groovy Script Automatically
10.7. Managing Groovy Scripts
10.8. Groovy Script Best Practices
10.8.1. Only Visit What is Needed
10.8.2. Find Text in Code
11. Defining an Architecture
11.1. Models, Components and Artifacts
11.1.1. Using other criteria to assign components to artifacts
11.1.2. List of predefined attribute retrievers
11.2. Interfaces and Connectors
11.3. Creating Architectural Aspects
11.4. Extending Aspect Based Artifacts
11.5. Extending Interfaces or Connectors
11.6. Adding Transitive Connections
11.7. Restricting Dependency Types
11.8. Connecting Complex Artifacts
11.9. Introducing Connection Schemes
11.10. Artifact Classes
11.11. How to Organize your Code
11.12. Designing Generic Architectures Using Templates
11.12.1. Using unrestricted generated artifacts
11.12.2. Using connection schemes to regulate accessibility
11.13. Best Practices
11.14. Architecture DSL Language Specification
12. Reporting Changes
13. Plugin Infrastructure
13.1. Swagger Plugin
14. Build Server Integration
15. IDE Integration
15.1. Eclipse Plugin
15.1.1. Assigning a System
15.1.2. Displaying Issues and Tasks
15.1.3. Suspending / Resuming Quality Monitoring
15.1.4. Setting Analyzer Execution Level
15.1.5. Getting Back In Sync with Manual Refresh
15.1.6. Execute Refactorings in Eclipse
15.2. IntelliJ Plugin
15.2.1. Assigning a System
15.2.2. Displaying Issues and Tasks
15.2.3. Toolbar
15.2.4. Getting Back In Sync with Manual Refresh
15.2.5. Execute Refactorings in IntelliJ
16. Metric Definitions
16.1. Language Independent Metrics
16.2. Java Metrics
16.3. C# Metrics
16.4. C/C++ Metrics
16.5. Python Metrics
17. How to Resolve Issues
17.1. Language Independent Issues
17.1.1. Root path does not exist
17.1.2. Duplicate Code
17.2. Java Specific Issues
17.2.1. Class file is out-of-date
17.3. C# Specific Issues
17.3.1. C# Parsing Errors
17.3.2. Project File (.csproj) Processing Failed
17.4. C/C++ Specific Issues
17.4.1. C/C++ Parsing Errors
18. FAQ
18.1. Out Of Memory Exceptions
18.2. Groovy Template
18.3. MSBuild Error (MSB4019) during Analysis of Visual Studio C# Project
19. References
20. Trademark Attributions, Library License Texts, and Source Code
21. Legal Notice
Glossary
1. Walk Through Tutorial (Java)
1.1. Workspace Definition
1.2. Basic Analysis
1.3. Advanced Analysis
1.4. Architecture: Artifacts, Templates and Standard Connections
1.5. Architecture: Explicit Interfaces and Connectors
1.6. Architecture: Advanced Connections
1.7. Architecture: Advanced Templating
1.8. Architecture: Referencing external Artifacts in Templates
1.9. Headless Check with Sonargraph Build
1.10. Check at Development Time with Sonargraph Eclipse Integration
2. Tutorial - Java
2.1. Setup the Software System
2.1.1. Create a new Software System
2.1.2. Define the Workspace
2.1.3. Define Module Dependencies
2.1.4. Parse the Workspace
2.2. Initial Analysis
2.2.1. Detect Problems Using Standard Metrics
2.2.2. Adjust Metric Thresholds
2.3. Problem Analysis
2.3.1. Examine Cycles
2.3.2. Examine Duplicate Code
2.3.3. Handle Issues
2.4. Detailed Dependency Analysis
2.4.1. Explore Dependencies
2.4.2. Check how Elements are Connected via Graph View
2.4.3. Check how Elements are Connected via the Dependencies View
2.4.4. Search for Elements
2.5. Advanced Analysis With Scripts
2.5.1. Create a New Script
2.5.2. Execute Existing Script
2.6. Share Results
2.6.1. Work with Snapshots
2.6.2. Define Quality Standards using Quality Models
2.6.3. Export to Excel
3. Tutorial - C++
3.1. Setup the Software System - Compiler Definitions
3.2. Setup the Software System - Makefile Capturing
3.3. Setup the Software System - Visual Studio Import
3.4. Further Steps
4. Sonargraph Script API Documentation
Index
Search
Search Highlighter (On/Off)