Code analysis
Learn section Development > The AL programming language > Code analysis: 7 Microsoft Learn pages. Index of what Learn documents here, linked to Learn.
- 7Learn pages
- 2videos
Path: Development > The AL programming language > Code analysis · tier official · system development · no narrative yet
Learn pages
- AppSourceCop analyzer: AppSourceCop is an analyzer that enforces rules that must be respected by extensions meant to be published to Microsoft AppSource.
- CodeCop analyzer: CodeCop is an analyzer that enforces the official AL Coding Guidelines.
- PerTenantExtensionCop analyzer: PerTenantExtensionCop is an analyzer that enforces rules that must be respected by extensions meant to be installed for individual tenants.
- Ruleset for the code analysis tool: Description of how to create custom rulesets for the code analysis tool in AL for Business Central.
- UICop analyzer: UICop is an analyzer that enforces rules that must be respected by extensions meant to customize the Web Client.
- Using the code analysis tool: Using static code analysis tool on an AL project.
- Using the code analysis tools with the ruleset: Configuring and using a custom ruleset on an AL project.
Videos, posts and code changes
Linked by a Haiku matcher with a grounding quote from the item’s summary (link/topics.ts); machine-generated.
- #2257 Test Result Analyzer fails if no stack trace is available (code change): “Test Result Analyzer to handle XML elements without stack traces”
- #2283 Fix issue 2267: appsourcecop.json is not created for testapps (code change): “AppSourceCop analyzer was applied to test apps but configuration file”
- #2300 Make failOn: newWarning work with workspace compilation (code change): “failOn: newWarning setting now detects newly introduced AL compiler warnings”
- #2323 Fix enableCodeAnalyzersOnTestApps not disabling customCodeCops in workspace compilation (code change): “Fix enableCodeAnalyzersOnTestApps not disabling customCodeCops in workspace compilation”
- #2330 Emit valid SARIF URIs for AL code analysis paths containing spaces (code change): “Emit valid SARIF URIs for AL code analysis paths containing spaces”
- #2331 Support trackALAlertsInGitHub for workspace compilation build path (code change): “Support trackALAlertsInGitHub for workspace compilation build path”
- #2342 Fix incremental builds poisoning buildMode-specific artifacts (#2337) (code change): “Prevents AL1153 compiler errors from runtime version mismatches”
- #10086 Make AA0194 an error in the base ruleset (code change): “Make AA0194 an error in the base ruleset”
- #10251 Ruleset hardening: promote 5 rules from Warning to Error (code change): “Five analyzer rules were promoted back to Error by removing their overrides”
- #10514 Ruleset hardening: promote AS0022, AA0087, AW0003, AA0203, AL0717 to Error (code change): “Five AL analyzer rules moved back to Error severity in the ruleset hierarchy”
- #10516 Ruleset hardening: promote AL0468, AL0520, AL0589, AL0611, AL0749, AW0004 to Error (code change): “Six AL compiler rules are promoted from Warning to Error severity”
- #11160 Ruleset hardening: promote three mechanical rules to Error (code change): “promote three mechanical rules to Error. The BCApps base ruleset now treats”
- #11682 [Expense Agent] Remove migration TODO and analyzer suppressions (code change): “Code validated with BCApps ruleset and analyzers”
- #109 style-review: calibrate variable-declaration order (AA0021) to info (code change): “variable-declaration-order rule (AA0021) severity is calibrated down from minor to info level”
- #110 review: stop reference-less agent findings in privacy and UI/accessibility leaves (code change): “review skills now report only findings backed by a BCQuality knowledge file”
- #112 Add precision guards for systematic agent false-positive patterns (code change): “Six new knowledge articles across breaking-changes, error-handling, performance”
- #118 knowledge: 3 FP-suppression guards from BC apps negative feedback (code change): “Three knowledge articles are added to clarify AL facts that were incorrectly flagged”
- #119 Add batch-2 FP guards: sentence-case action captions + PK Get is transaction-cached (code change): “Two knowledge articles were added to guide developers about correct use”
- #124 Add FP guards: field relocation to tableextension + event parameter addition (bug 642303) (code change): “BCQuality adds two false-positive guards to prevent incorrect breaking-change flags”
- #146 knowledge: three false-positive guards from BCApps PR 10277, 10278 and 10346 (code change): “three false-positive guards from BCApps PR 10277, 10278 and 10346”
- #150 Simplify standalone AL code review skill (code change): “The standalone AL code review skill is renamed from bcquality-al-review to al-code-review”
- #172 Support standalone runners and complete app-folder reviews (code change): “AL review skills now support standalone runners and folder-based app reviews”
- #173 Frame app review as one standalone plugin example (code change): “BCQuality documentation now presents the project as a general skill plugin model”
- #178 Separate deterministic analyzer rules from BCQuality (code change): “Deterministic analyzer rules and their documentation are removed from BCQuality”
- #179 Add bounded knowledge retrieval (code change): “Adds bounded, lossless knowledge retrieval for BCQuality review skills”
- #180 Normalize recoverable leaf finding ranges (code change): “Normalize recoverable leaf finding ranges. Review findings whose primary line”
- #204 Validate composed reviews against the expected leaf worklist (code change): “Validate composed reviews against the expected leaf worklist. The findings-report validator”
- #54 Emit human-readable domain label on review findings (code change): “BCQuality review leaves now set an optional human-readable domain label on every finding”
- Introducing ALCops — LinterCop’s Next Chapter (community post): “ALCops is a complete replacement for LinterCop that splits code analysis into six domain-specific analyzers”
- ALCops: The Next Chapter of LinterCop (community post): “code analyzer collection for AL that succeeds LinterCop”
- ALCops: The Story So Far (community post): “ALCops is a community-driven collection of code analyzers for AL”
- Rethinking LinterCop: Preparing for the Next Chapter (community post): “LinterCop, a code analyzer for AL, faces architectural limitations”
- How Good Can AL Code Get? — A Live ISO 5055 Review (video): “Code quality; static analysis; al cops; Default Analyzers Configuration”
- ALCops: LinterCop’s Successor for Business Central AL Code Analysis (feat Arthur van de Vondervoort) (video): “ALCops; lintercop; code analysis; code cops; al language”
Source: Microsoft Learn (CC BY 4.0). Descriptions are Learn’s own.