Skip to main content

Overview

Execution contexts define how plugins can run in relation to other plugins during task execution. These policies control concurrency and resource isolation.

Execution Policies

Exclusive

The plugin requires exclusive access to the task. No other plugins can execute simultaneously.
  • Single plugin executes per task
  • Maximum resource availability
  • Complete plugins that cover an entire analysis flow
  • Plugins that heavily affect the environment
  • All-in-one analysis tools
  • Plugins requiring full system resources

Sequential

Plugins execute one at a time in a defined order. Each plugin must complete before the next begins.
  • Plugins execute in defined order
  • Each plugin completes before next starts
  • Access to previous plugin results
  • Predictable execution flow
  • Prevents resource contention between plugins
  • Maintains clear causality chain
  • Plugins with dependencies on previous analysis results
  • Resource-intensive operations that shouldn’t overlap
  • Analysis pipelines with ordering requirements
  • Multi-stage processing workflows

Parallel

Plugins can execute concurrently with compatible plugins. The plugin developer can select specific plugins and compatible versions. Additionally, the user can also add or remove compatible plugins to the list.
  • Multiple plugins execute simultaneously
  • Configurable compatibility lists per plugin
  • User can override compatibility settings
  • Plugin interactions must be non-conflicting
  • Independent analysis tasks (static analysis, file parsing)
  • Plugins that don’t conflict on resources
  • Performance-optimized analysis pipelines
  • Complementary analysis tools

Unrestricted

The plugin can execute alongside any other plugins without specific requirements. No coordination or restrictions apply.
  • No execution restrictions or coordination
  • Can run alongside any other plugin
  • Typically read-only or observational
  • Lightweight monitoring or logging plugins
  • Passive observers that don’t modify state
  • Plugins with minimal resource footprint