ballerina-platform / ballerina-lang

The Ballerina Programming Language
https://ballerina.io/
Apache License 2.0
3.55k stars 736 forks source link

[Task]: Implement Static Code Analysis Support for Ballerina #42260

Open Xenowa opened 4 months ago

Xenowa commented 4 months ago

Description

Static code analysis examines code without execution, identifying potential issues like bugs, security vulnerabilities, and style violations. It improves software quality by early issue detection, creating better maintainability, and providing enhanced security.

Each programming language has its own unique syntax and semantics. Therefore, effective static code analysis requires tools specifically designed for the language being analyzed. These tools leverage the language's specific characteristics to perform more in-depth and accurate analysis.

Existing static code analysis tools like SonarQube rely on these language-specific code analyzers to extract information and report issues.

This effort focuses on developing a Ballerina tool to perform static code analysis based on sets of rules and report analysis issues to various static code analysis platforms.

Contains steps to Implement #42256

Describe your task(s)

Implementing a Ballerina static-code-analysis-tool

[Phase 1] Creating the core analyzer:

[Phase 2] Introduce extension points for the core analyzer

[Phase 3] Implement additional Ballerina rules

Implementing Ballerina analysis issues reporting support for SonarQube via creating the sonar-ballerina plugin:

Related area

-> Other Area

Related issue(s) (optional)

No response

Suggested label(s) (optional)

No response

Suggested assignee(s) (optional)

No response

Xenowa commented 2 months ago

24/04/2024 Update

Xenowa commented 6 days ago

29/06/2024