Lotus

User Guide

  • Major Components Overview
  • Architecture Overview
  • Quick Start Guide
  • Installation Guide
  • Tutorials and Examples
  • Bug Detection with Lotus
  • PDG Query Language (Cypher)
  • Property-Based Slicing
  • Verification Backend Abstraction
  • Instrumentation Passes
  • Troubleshooting and FAQ
  • Command-Line Tools

Core Components

  • Alias Analysis
  • Analysis Framework
  • Annotations
  • Applications
  • Context-Free Language Analysis
  • Data Flow Analysis
    • Algebraic Program Analysis (APA)
    • Control Flow Support
    • Monotone Dataflow Engine
    • Overview
    • Core Idea
    • Example Analyses
    • IFDS / IDE Engine
    • Overview
    • IFDS: Set-Valued Problems
    • IDE: Value-Enriched Problems
    • Usage
    • Command-Line Tool: lotus-taint
    • WPDS Dataflow Engine
    • Overview
    • Core Idea
    • Example Analyses
    • Newtonian Program Analysis (NPA)
    • Overview
    • Conceptual Background
    • Mathematical Foundation
    • Examples and Applications
    • Distributive vs. Non-Distributive Analyses
    • Core Implementation (include/Dataflow/NPA/Core)
    • Usage Notes
    • Practical notes for numeric domains
    • References
  • Intermediate Representations
  • Overview
  • MemoryMLFeaturesPass
  • Features Extracted
  • Feature Output
  • Analysis Dependencies
  • Integration Notes
  • Related Components
  • Optimization
  • Solvers
  • Transforms
  • Utilities
  • Verification
  • Checker Framework

Developer Documentation

  • API Reference
  • Developer Guide
Lotus
  • Data Flow Analysis
  • View page source

Data Flow Analysis

This section covers data flow analysis engines and tools.

  • Algebraic Program Analysis (APA)
    • Overview
    • Main components
    • Typical use cases
    • See also
  • Control Flow Support
    • Overview
    • Main components
    • Why it exists
    • See also
  • Monotone Dataflow Engine
  • Overview
  • Core Idea
  • Example Analyses
    • Live Variables (SSA)
    • Reachable Instructions
  • IFDS / IDE Engine
  • Overview
  • IFDS: Set-Valued Problems
    • Example — Taint Analysis
  • IDE: Value-Enriched Problems
    • Example — Linear Constant Propagation
    • Example — Typestate Analysis
  • Usage
  • Command-Line Tool: lotus-taint
    • Key Options
    • Examples
  • WPDS Dataflow Engine
  • Overview
  • Core Idea
  • Example Analyses
    • Constant Propagation
    • Liveness
    • Taint Analysis
    • Uninitialized Variables
  • Newtonian Program Analysis (NPA)
  • Overview
  • Conceptual Background
    • Key Insight: Algebraic Generalization
  • Mathematical Foundation
    • ω-Continuous Semirings
    • Comparison with Kleene’s Method
  • Examples and Applications
    • May-Alias Analysis
    • Average Runtime Analysis
    • LCFL Sub-Problems and Tensor-Product Regularization
    • Other Applications
  • Distributive vs. Non-Distributive Analyses
  • Core Implementation (include/Dataflow/NPA/Core)
  • Usage Notes
  • Practical notes for numeric domains
  • References
Previous Next

© Copyright 2024-2025, ZJU Programming Languages and Automated Reasoning Group.

Built with Sphinx using a theme provided by Read the Docs.