Wolfralyze

Professional Code Quality Analysis for Wolfram Mathematica™

The industry's FIRST and ONLY Tier 1 SonarQube® plugin for Wolfram Mathematica™

559
Analysis Rules
55
Security Rules
200
Bug Detectors
53
Quick Fixes
9/10
OWASP Top 10 Coverage

Why Wolfralyze?

Wolfralyze brings enterprise-grade code quality analysis to Wolfram Mathematica™, matching the depth and sophistication of analysis available for Java, Python, and other mainstream languages.

🛡️ Comprehensive Security Analysis

  • OWASP Top 10 2021: 9 of 10 categories covered
  • Taint Analysis: Track untrusted data from sources to sinks
  • SQL Injection Detection: Pattern and data-flow based
  • Command Injection: Shell command safety validation
  • XSS Prevention: String sanitization checks
  • Cryptography: Weak algorithms & hardcoded secrets detection

🔍 Deep Code Analysis

  • Symbol Table: Cross-file function/variable tracking
  • Type Inference: Understand variable types through patterns
  • Data Flow Analysis: Track values through program execution
  • Control Flow Analysis: Detect unreachable code & infinite loops
  • Null Safety: Track $Failed, Missing[], undefined values

⚡ Performance Optimization

  • Pattern Complexity: Detect backtracking patterns
  • List Operations: Avoid O(n²) anti-patterns
  • Compilation Opportunities: Suggest Compile[] usage
  • Packed Arrays: Detect unpacking operations
  • Memory Leaks: Find growing definition chains
  • 1000× Speedups: Detect AppendTo in loops

🔧 Mathematica-Specific Analysis

  • Pattern System: Validate pattern correctness
  • Attribute System: Proper use of HoldFirst, Listable, etc.
  • Scoping: Module, Block, With usage validation
  • Notebooks: Notebook-specific best practices
  • Paclets: Package development standards
  • WolframCloud: Cloud deployment checks

📊 Test Coverage Integration

  • Native Support: Built-in coverage tracking
  • Line-by-Line: Detailed hit counts
  • Automatic Import: JSON export from tests
  • SonarQube UI: Visual coverage display
  • Quality Gates: Enforce coverage minimums

🚀 Developer Productivity

  • 53 Quick Fixes: One-click automated corrections
  • IDE Integration: Real-time feedback via SonarLint
  • CI/CD Ready: Works with GitHub Actions, GitLab, Jenkins
  • Custom Rules: Define project-specific patterns
  • Complexity Metrics: Cyclomatic & cognitive complexity

Tier 1 Language Support

Wolfralyze provides best-in-class support for Wolfram Mathematica™, comparable to SonarQube® support for major programming languages:

Feature Java Python Mathematica™
Rules 733 410 559
AST Parser
Symbol Table
Type System
Data Flow
Taint Analysis
Test Coverage
Quick Fixes

See Wolfralyze in Action

Comprehensive code quality analysis for Wolfram Mathematica, integrated seamlessly into SonarQube.

SonarQube Dashboard showing Mathematica project analysis

Dashboard Overview

Real-time quality metrics for your Mathematica projects with bugs, vulnerabilities, and code smells clearly displayed.

Issues list showing Mathematica code quality problems

Issues Detection

Comprehensive issue list showing security vulnerabilities, bugs, and code smells with severity indicators.

Code viewer with syntax highlighting and highlighted issues

Inline Issue Highlighting

Mathematica code with full syntax highlighting and issues highlighted directly in the source.

Detailed rule documentation

Rule Documentation

Detailed explanations for each rule with examples and remediation guidance specific to Mathematica.

Quality profile showing 559 Mathematica rules

Quality Profile

559 rules organized by type: bugs, vulnerabilities, security hotspots, and code smells, including 21 coding standards.

Plugin installed in SonarQube marketplace

Easy Installation

Plugin installs cleanly into SonarQube and appears in the marketplace with full metadata.

Screenshots show Wolfralyze analyzing the test project with intentional code quality issues.

Get Started in Minutes

1. Install the Plugin

# Download the latest release
curl -L -o wolfralyze.jar \
  https://github.com/bceverly/wolfralyze/releases/latest/download/wolfralyze.jar

# Copy to SonarQube plugins directory
cp wolfralyze.jar $SONARQUBE_HOME/extensions/plugins/

# Restart SonarQube
$SONARQUBE_HOME/bin/[platform]/sonar.sh restart

2. Configure Your Project

# Create sonar-project.properties in your project root
cat > sonar-project.properties << EOF
sonar.projectKey=my-mathematica-project
sonar.projectName=My Mathematica Project
sonar.sources=.
sonar.inclusions=**/*.m,**/*.wl,**/*.wls
EOF

3. Run Analysis

sonar-scanner

4. View Results

Open your browser to http://localhost:9000 and see:

Full Installation Guide Example Project

Resources