abstract-trace-summarizer

Solid

Performs abstract interpretation to produce summarized execution traces and high-level program behavior representations. Highlights key control flow paths, variable relationships, loop invariants, function summaries, and potential runtime states using abstract domains (intervals, signs, nullness, etc.). Use when analyzing program behavior, understanding execution paths, computing loop invariants, tracking variable ranges, detecting potential runtime errors, or generating program summaries without concrete execution.

AI & Automation 160 stars 17 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 87/100

Stars 20%
73
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Abstract Trace Summarizer ## Overview This skill performs abstract interpretation to analyze program behavior and produce summarized execution traces. It computes over-approximations of possible runtime states, tracks control flow paths, infers variable relationships, and generates high-level behavioral summaries without requiring concrete program execution. ## Core Workflow ### 1. Program Analysis Setup **Initial Assessment:** - Identify programming language and paradigm - Determine analysis scope (function, module, program) - Select appropriate abstract domains - Identify analysis goals (safety, correctness, optimization) **Abstract Domain Selection:** Choose domains based on analysis needs: **Numerical domains:** - **Intervals**: Track value ranges `[min, max]` - **Signs**: Track {negative, zero, positive, unknown} - **Octagons**: Linear constraints `±x ±y ≤ c` - **Polyhedra**: General linear constraints **Non-numerical domains:** - **Nullness**: Track {null, non-null, unknown} for pointers - **Constant propagation**: Track known constant values - **Type domains**: Track possible types - **Parity**: Track {even, odd, unknown} **Relational vs non-relational:** - **Non-relational**: Track variables independently (faster, less precise) - **Relational**: Track relationships between variables (slower, more precise) ### 2. Control Flow Analysis **Build Control Flow Graph (CFG):** Represent program structure: ``` Entry → Statement₁ → Statement₂ → ... → Exit ...

Details

Author
ArabelaTso
Repository
ArabelaTso/Skills-4-SE
Created
6 months ago
Last Updated
today
Language
Python
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category