GitHub topics: static-code-analysis
wala/WALA
T.J. Watson Libraries for Analysis, with front ends for Java, Android, and JavaScript, and many common static program analyses.
Language: Java - Size: 58.3 MB - Last synced at: about 1 hour ago - Pushed at: about 2 hours ago - Stars: 821 - Forks: 238
uber/NullAway
A tool to help eliminate NullPointerExceptions (NPEs) in your Java code with low build-time overhead
Language: Java - Size: 7.07 MB - Last synced at: 18 minutes ago - Pushed at: about 2 hours ago - Stars: 3,905 - Forks: 320
jborgers/PMD-jPinpoint-rules
PMD rule set for responsible Java and Kotlin coding: performance, sustainability, multi-threading, data mixup and more.
Language: Java - Size: 2.94 MB - Last synced at: about 10 hours ago - Pushed at: about 11 hours ago - Stars: 51 - Forks: 10
BlueDotBrigade/analyzers
Roslyn analyzer: enforces source code quality & consistency through compile-time analysis.
Language: C# - Size: 26.4 KB - Last synced at: about 22 hours ago - Pushed at: about 24 hours ago - Stars: 0 - Forks: 0
SonarSource/sonar-dotnet
Code analyzer for C# and VB.NET projects
Language: C# - Size: 138 MB - Last synced at: about 22 hours ago - Pushed at: about 24 hours ago - Stars: 872 - Forks: 234
checkstyle/checkstyle
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.
Language: Java - Size: 202 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 8,737 - Forks: 3,889
microsoft/cmd-call-graph
A simple tool to generate a call graph for calls within Windows CMD (batch) files.
Language: Python - Size: 1.28 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 52 - Forks: 20
konveyor/editor-extensions
VSCode extension for Konveyor.io
Language: TypeScript - Size: 213 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 4 - Forks: 23
souffle-lang/souffle
Soufflé is a variant of Datalog for tool designers crafting analyses in Horn clauses. Soufflé synthesizes a native parallel C++ program from a logic specification.
Language: C++ - Size: 516 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 1,018 - Forks: 224
mgechev/revive
🔥 ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint
Language: Go - Size: 6.51 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 5,325 - Forks: 313
Technologicat/pyan
Static call graph generator. The official Python 3 version. Development repo.
Language: Python - Size: 1.12 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 384 - Forks: 69
SonarSource/sonar-php
:elephant: SonarPHP: PHP static analyzer for SonarQube & SonarLint
Language: Java - Size: 22.1 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 420 - Forks: 108
facebook/infer
A static analyzer for Java, C, C++, and Objective-C
Language: OCaml - Size: 194 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 15,424 - Forks: 2,058
hoangquan0911/static-analyzer
🔍 Analyze Solidity smart contracts for security flaws and optimizations with a modular, Python-based tool designed for easy extension and use.
Language: Python - Size: 1.37 MB - Last synced at: 1 day ago - Pushed at: 2 days ago - Stars: 0 - Forks: 0
Correia-jpv/fucking-static-analysis
⚙️ A curated list of static analysis (SAST) tools for all programming languages, config files, build tools, and more. With repository stars⭐ and forks🍴
Language: Rust - Size: 39.5 MB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 23 - Forks: 1
Ali5tan/bandit
Solutions and walkthroughs for OverTheWire: Bandit - learn Linux command-line basics through real hacking challenges.
Language: Shell - Size: 6.84 KB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 1 - Forks: 0
astral-sh/ruff
An extremely fast Python linter and code formatter, written in Rust.
Language: Rust - Size: 97.3 MB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 43,573 - Forks: 1,600
goblint/analyzer
Static analysis framework for C
Language: OCaml - Size: 39.6 MB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 214 - Forks: 84
RalfKoban/MiKo-Analyzers
Provides analyzers that are based on the .NET Compiler Platform.
Language: C# - Size: 16.3 MB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 16 - Forks: 2
RushiA2005/video-testing-tool
🎥 Monitor WebRTC video streams in real-time with detailed analytics on quality metrics like FPS, bitrate, and delays using this practical Chrome extension.
Language: TypeScript - Size: 1.67 MB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 0 - Forks: 0
SonarSource/sonar-java
:coffee: SonarSource Static Analyzer for Java Code Quality and Security
Language: Java - Size: 69 MB - Last synced at: about 7 hours ago - Pushed at: about 8 hours ago - Stars: 1,182 - Forks: 704
jenkinsci/analysis-model
A library to read static analysis reports into a Java object model
Language: Java - Size: 13.6 MB - Last synced at: 2 days ago - Pushed at: 3 days ago - Stars: 89 - Forks: 192
sartcod/ruff
An extremely fast Python linter and code formatter, written in Rust.
Size: 19.5 KB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 1 - Forks: 0
tyhal/crie
Universal meta-linter using containerized execution
Language: Go - Size: 1.57 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 10 - Forks: 2
reviewdog/reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
Language: Go - Size: 5.42 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 8,810 - Forks: 459
semgrep/semgrep
Lightweight static analysis for many languages. Find bug variants with patterns that look like source code.
Language: OCaml - Size: 90.4 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 13,240 - Forks: 818
pylint-dev/pylint
It's not just a linter that annoys you!
Language: Python - Size: 39.8 MB - Last synced at: about 10 hours ago - Pushed at: about 12 hours ago - Stars: 5,590 - Forks: 1,197
bolajiwahab/pgrubic
PostgreSQL linter and formatter for schema migrations and design best practices.
Language: Python - Size: 6.7 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 13 - Forks: 3
jvillard/infer Fork of facebook/infer
A static analyzer for Java, C and Objective-C
Language: OCaml - Size: 171 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 3 - Forks: 1
phpstan/phpstan-doctrine
Doctrine extensions for PHPStan
Language: PHP - Size: 1.13 MB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 645 - Forks: 112
pylint-dev/astroid
A common base representation of python source code for pylint and other projects
Language: Python - Size: 16.9 MB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 561 - Forks: 305
phan/phan
Phan is a static analyzer for PHP. Phan prefers to avoid false-positives and attempts to prove incorrectness rather than correctness.
Language: PHP - Size: 49.6 MB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 5,594 - Forks: 370
felipebz/zpa
Parser and static code analysis tool for PL/SQL and Oracle SQL.
Language: Kotlin - Size: 6.91 MB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 232 - Forks: 81
mthuurne/retroasm
RetroAsm: Assembly Toolkit
Language: Python - Size: 2.19 MB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 7 - Forks: 0
security-code-scan/security-code-scan
Vulnerability Patterns Detector for C# and VB.NET
Language: C# - Size: 6.17 MB - Last synced at: 4 days ago - Pushed at: over 1 year ago - Stars: 965 - Forks: 161
JohT/code-graph-analysis-examples
Shows how to use the code-graph-analysis-pipeline based on examples
Size: 1.46 GB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 0 - Forks: 0
MaibornWolff/codecharta
CodeCharta is a visualization tool that transforms complex software architecture and code metrics into interactive, customizable visual maps, empowering everyone to communicate and analyze your codebase. Improve code quality, maintainability, and architectural decisions
Language: TypeScript - Size: 125 MB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 347 - Forks: 42
jenkinsci/warnings-ng-plugin
Jenkins Warnings Plugin - Next Generation
Language: Java - Size: 27.3 MB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 352 - Forks: 285
SonarSource/SonarJS
SonarSource Static Analyzer for JavaScript and TypeScript
Language: TypeScript - Size: 93.9 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 1,160 - Forks: 191
JetBrains/qodana-cli
🔧 JetBrains Qodana’s official command line tool
Language: Go - Size: 3.51 MB - Last synced at: 4 days ago - Pushed at: 4 days ago - Stars: 212 - Forks: 28
JetBrains/Qodana
📝 Source repository of Qodana Help
Size: 252 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 398 - Forks: 84
AnirvanSarkar/checkstyle Fork of checkstyle/checkstyle
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.
Language: Java - Size: 104 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 2 - Forks: 0
biomejs/biome
A toolchain for web projects, aimed to provide functionalities to maintain them. Biome offers formatter and linter, usable via CLI and LSP.
Language: Rust - Size: 217 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 21,987 - Forks: 741
ipyflow/ipyflow
A reactive Python kernel for Jupyter notebooks.
Language: Python - Size: 23.5 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 1,245 - Forks: 24
JohT/code-graph-analysis-pipeline
Fully automated pipeline for static code graph analysis
Language: Jupyter Notebook - Size: 1.96 GB - Last synced at: 1 day ago - Pushed at: 1 day ago - Stars: 23 - Forks: 1
securesauce/precli-action
GitHub Action to run Precaution SAST
Size: 14.6 KB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 3 - Forks: 1
spotbugs/spotbugs
SpotBugs is FindBugs' successor. A tool for static analysis to look for bugs in Java code.
Language: Java - Size: 141 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 3,765 - Forks: 638
eslint/markdown
Lint JavaScript code blocks in Markdown documents
Language: JavaScript - Size: 904 KB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 514 - Forks: 80
soot-oss/SootUp
A new version of Soot with a completely overhauled architecture
Language: Java - Size: 379 MB - Last synced at: 2 days ago - Pushed at: 2 days ago - Stars: 744 - Forks: 103
eslint/eslint
Find and fix problems in your JavaScript code.
Language: JavaScript - Size: 48.1 MB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 26,622 - Forks: 4,833
mebigfatguy/fb-contrib
a FindBugs/SpotBugs plugin for doing static code analysis for java code bases
Language: Java - Size: 12.3 MB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 163 - Forks: 44
rubocop/rubocop
A Ruby static code analyzer and formatter, based on the community Ruby style guide.
Language: Ruby - Size: 48.4 MB - Last synced at: 6 days ago - Pushed at: 7 days ago - Stars: 12,804 - Forks: 3,089
fiabotz/eslint
🚀 Streamline your JavaScript projects with a simple, consistent ESLint configuration tailored for our team's needs.
Language: JavaScript - Size: 74.2 KB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 0 - Forks: 0
phpstan/phpdoc-parser
Next-gen phpDoc parser with support for intersection types and generics
Language: PHP - Size: 981 KB - Last synced at: 6 days ago - Pushed at: 14 days ago - Stars: 1,484 - Forks: 66
openrewrite/rewrite-static-analysis
OpenRewrite recipes for identifying and fixing static analysis issues.
Language: Java - Size: 4.43 MB - Last synced at: 5 days ago - Pushed at: 5 days ago - Stars: 48 - Forks: 90
rubocop/rubocop-rails
A RuboCop extension focused on enforcing Rails best practices and coding conventions.
Language: Ruby - Size: 28.4 MB - Last synced at: 4 days ago - Pushed at: 7 days ago - Stars: 850 - Forks: 285
phpstan/phpstan-nette
Nette Framework class reflection extension for PHPStan & framework-specific rules
Language: PHP - Size: 283 KB - Last synced at: 7 days ago - Pushed at: 7 days ago - Stars: 111 - Forks: 40
pmd/pmd
An extensible multilanguage static code analyzer.
Language: Java - Size: 518 MB - Last synced at: 7 days ago - Pushed at: 7 days ago - Stars: 5,237 - Forks: 1,530
eclipse-pmd/eclipse-pmd Fork of acanda/eclipse-pmd
PMD Plugin for the Eclipse IDE
Language: Java - Size: 17.2 MB - Last synced at: 7 days ago - Pushed at: 7 days ago - Stars: 13 - Forks: 1
kit-sdq/autograder
Automatic grading of student's Java code
Language: Java - Size: 3.74 MB - Last synced at: 7 days ago - Pushed at: 7 days ago - Stars: 16 - Forks: 9
coderaiser/putout
🐊 Pluggable and configurable JavaScript Linter, code transformer and formatter, drop-in ESLint superpower replacement 💪 with built-in support for js, jsx, typescript, markdown, yaml and json. Write declarative codemods in a simplest possible way 😏
Language: JavaScript - Size: 20.4 MB - Last synced at: 7 days ago - Pushed at: 7 days ago - Stars: 772 - Forks: 42
PyCQA/flake8
flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.
Language: Python - Size: 3.57 MB - Last synced at: 5 days ago - Pushed at: 22 days ago - Stars: 3,713 - Forks: 336
JetBrains/qodana-action
⚙️ Scan your Go, Java, Kotlin, PHP, Python, JavaScript, TypeScript, .NET projects at GitHub with Qodana. This repository contains Qodana for Azure, GitHub, CircleCI and Gradle
Language: JavaScript - Size: 23.4 MB - Last synced at: 7 days ago - Pushed at: 7 days ago - Stars: 294 - Forks: 42
gauge-sh/tach
A Python tool to visualize + enforce dependencies, using modular architecture 🌎 Open source 🐍 Installable via pip 🔧 Able to be adopted incrementally - ⚡ Implemented with no runtime impact ♾️ Interoperable with your existing systems 🦀 Written in rust
Language: Rust - Size: 22.8 MB - Last synced at: 8 days ago - Pushed at: 12 days ago - Stars: 2,535 - Forks: 70
slackhq/compose-lints
Lint checks to aid with a healthy adoption of Compose
Language: Kotlin - Size: 4.27 MB - Last synced at: 6 days ago - Pushed at: 6 days ago - Stars: 457 - Forks: 31
TangleGuard/docs
The documentation of TangleGuard
Language: MDX - Size: 46.9 MB - Last synced at: 9 days ago - Pushed at: 9 days ago - Stars: 0 - Forks: 0
felipebz/zpa-cli
Command-line interface for ZPA.
Language: Kotlin - Size: 613 KB - Last synced at: 10 days ago - Pushed at: 10 days ago - Stars: 27 - Forks: 10
glebm/i18n-tasks
Manage translation and localization with static analysis, for Ruby i18n
Language: Ruby - Size: 3 MB - Last synced at: 3 days ago - Pushed at: 22 days ago - Stars: 2,145 - Forks: 278
google/pytype
A static type analyzer for Python code
Language: Python - Size: 42.5 MB - Last synced at: 11 days ago - Pushed at: 11 days ago - Stars: 5,009 - Forks: 289
standard/eslint-config-standard
ESLint Config for JavaScript Standard Style
Language: TypeScript - Size: 772 KB - Last synced at: 8 days ago - Pushed at: 17 days ago - Stars: 2,648 - Forks: 555
PyCQA/bandit
Bandit is a tool designed to find common security issues in Python code.
Language: Python - Size: 5.65 MB - Last synced at: 11 days ago - Pushed at: 18 days ago - Stars: 7,414 - Forks: 699
vegardit/depcheck-maven-plugin
Maven plugin to check for used unused direct and used indirect (transitive) dependencies.
Language: Java - Size: 2.6 MB - Last synced at: 11 days ago - Pushed at: 11 days ago - Stars: 4 - Forks: 0
praetorian-inc/gokart 📦
A static analysis tool for securing Go code
Language: Go - Size: 189 KB - Last synced at: 5 days ago - Pushed at: almost 2 years ago - Stars: 2,175 - Forks: 108
Bearer/bearer
Code security scanning tool (SAST) to discover, filter and prioritize security and privacy risks.
Language: Go - Size: 23.7 MB - Last synced at: 11 days ago - Pushed at: 12 days ago - Stars: 2,433 - Forks: 130
phpstan/phpstan-deprecation-rules
PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.
Language: PHP - Size: 250 KB - Last synced at: 12 days ago - Pushed at: 12 days ago - Stars: 427 - Forks: 20
opalj/opal
Language: Scala - Size: 767 MB - Last synced at: 3 days ago - Pushed at: 3 days ago - Stars: 72 - Forks: 33
phpstan/phpstan-symfony
Symfony extension for PHPStan
Language: PHP - Size: 692 KB - Last synced at: 8 days ago - Pushed at: 27 days ago - Stars: 754 - Forks: 95
priv-kweihmann/meta-sca
Layer for static code analysis and security hardening
Language: BitBake - Size: 830 MB - Last synced at: about 13 hours ago - Pushed at: about 15 hours ago - Stars: 103 - Forks: 39
vuejs/vue-eslint-parser
The ESLint custom parser for `.vue` files.
Language: TypeScript - Size: 2.23 MB - Last synced at: 10 days ago - Pushed at: 3 months ago - Stars: 481 - Forks: 77
TWiStErRob/android-lint-examples
Project that reproduces every lint violation out there. (At least that's the idea, contributions welcome.)
Language: Java - Size: 910 KB - Last synced at: 14 days ago - Pushed at: 14 days ago - Stars: 7 - Forks: 1
standard/standard
🌟 JavaScript Style Guide, with linter & automatic code fixer
Language: JavaScript - Size: 3.58 MB - Last synced at: 13 days ago - Pushed at: 4 months ago - Stars: 29,374 - Forks: 2,323
abaplint/abaplint
Standalone static analysis for ABAP
Language: TypeScript - Size: 81.2 MB - Last synced at: 12 days ago - Pushed at: 13 days ago - Stars: 247 - Forks: 80
jborgers/sonar-pmd
☕️ PMD Plugin for SonarQube
Language: Java - Size: 5.46 MB - Last synced at: 7 days ago - Pushed at: 7 days ago - Stars: 283 - Forks: 162
DmitryTsepelev/rubocop-graphql
Rubocop extension for enforcing graphql-ruby best practices
Language: Ruby - Size: 314 KB - Last synced at: 1 day ago - Pushed at: 3 months ago - Stars: 231 - Forks: 50
yardexx/dart_shield
Security CLI tool (SAST) to detect security issues in your Dart and Flutter code.
Language: Dart - Size: 1010 KB - Last synced at: 12 days ago - Pushed at: 16 days ago - Stars: 3 - Forks: 0
designsecurity/progpilot
A static analysis tool for security
Language: PHP - Size: 26.3 MB - Last synced at: 15 days ago - Pushed at: 3 months ago - Stars: 352 - Forks: 63
analysis-tools-dev/static-analysis
⚙️ A curated list of static analysis (SAST) tools and linters for all programming languages, config files, build tools, and more. The focus is on tools which improve code quality.
Language: Rust - Size: 40.1 MB - Last synced at: 17 days ago - Pushed at: 21 days ago - Stars: 14,156 - Forks: 1,404
mysticatea/eslint-plugin-node
Additional ESLint's rules for Node.js
Language: JavaScript - Size: 965 KB - Last synced at: 11 days ago - Pushed at: over 1 year ago - Stars: 960 - Forks: 182
rubocop/vscode-rubocop
The official VS Code extension for the RuboCop linter and code formatter.
Language: TypeScript - Size: 1.73 MB - Last synced at: 18 days ago - Pushed at: 18 days ago - Stars: 70 - Forks: 3
securego/gosec
Go security checker
Language: Go - Size: 5.26 MB - Last synced at: 18 days ago - Pushed at: 18 days ago - Stars: 8,491 - Forks: 663
muttistefano/ros2_sonarcloud
ROS2 code quality tool based on sonarcloud
Language: Python - Size: 2.53 MB - Last synced at: 19 days ago - Pushed at: 19 days ago - Stars: 5 - Forks: 0
phpstan/phpstan
PHP Static Analysis Tool - discover bugs in your code without running it!
Language: PHP - Size: 6.23 GB - Last synced at: 19 days ago - Pushed at: 19 days ago - Stars: 13,681 - Forks: 931
Shopify/theme-check 📦
The Ultimate Shopify Theme Linter
Language: Ruby - Size: 3.49 MB - Last synced at: 6 days ago - Pushed at: over 1 year ago - Stars: 351 - Forks: 94
trippynix/repognition
Repo-gniton is an intelligent tool that helps developers understand, navigate, and work with code repositories. It dynamically ingests GitHub repositories, parses code and documentation, and prepares them for retrieval and AI-powered assistance.
Language: Python - Size: 1.62 MB - Last synced at: 19 days ago - Pushed at: 20 days ago - Stars: 6 - Forks: 2
securesauce/precli
Precaution CLI - command line static application security testing tool
Language: Python - Size: 2.56 MB - Last synced at: 19 days ago - Pushed at: 20 days ago - Stars: 26 - Forks: 3
nohype-ai/codeface-io.github.io
Official Codeface Website
Language: HTML - Size: 194 MB - Last synced at: 11 days ago - Pushed at: 3 months ago - Stars: 2 - Forks: 1
guilatrova/tryceratops
A linter to prevent exception handling antipatterns in Python (limited only for those who like dinosaurs).
Language: Python - Size: 1.49 MB - Last synced at: 17 days ago - Pushed at: about 1 year ago - Stars: 446 - Forks: 25
rubocop/rubocop-performance
An extension of RuboCop focused on code performance checks.
Language: Ruby - Size: 24.8 MB - Last synced at: 6 days ago - Pushed at: 21 days ago - Stars: 721 - Forks: 88
datreeio/datree 📦
Prevent Kubernetes misconfigurations from reaching production (again 😤 )! From code to cloud, Datree provides an E2E policy enforcement solution to run automatic checks for rule violations. See our docs: https://hub.datree.io
Language: Go - Size: 8.9 MB - Last synced at: 20 days ago - Pushed at: over 1 year ago - Stars: 6,357 - Forks: 360
provocon/stratigraph
Stratigraph produces a graph of the mutual usages of source code packages of a software system and derives a layering from this graph. As a result it may check, if the software adheres to a layering pattern.
Language: Java - Size: 128 KB - Last synced at: 22 days ago - Pushed at: 23 days ago - Stars: 2 - Forks: 0