Skills-4-SE metamorphic-property-extractor

Automatically identify metamorphic properties (symmetry, linearity, additivity, input invariances) from programs or functions. Use when generating metamorphic tests, discovering program properties, validating transformations, or creating test oracles without explicit specifications. Analyzes control flow, data flow, and sample executions to output structured properties for metamorphic test generation and verification.

install
source · Clone the upstream repo
git clone https://github.com/ArabelaTso/Skills-4-SE
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ArabelaTso/Skills-4-SE "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/metamorphic-property-extractor" ~/.claude/skills/arabelatso-skills-4-se-metamorphic-property-extractor && rm -rf "$T"
manifest: skills/metamorphic-property-extractor/SKILL.md
source content

Metamorphic Property Extractor

Overview

Automatically identify metamorphic properties from programs to enable metamorphic testing without explicit test oracles.

Core Workflow

1. Extract Properties

python scripts/property_extractor.py --program function.py --output properties.json

2. Verify Properties

python scripts/verify_properties.py --program function.py --properties properties.json

Metamorphic Properties

Symmetry

f(x, y) == f(y, x)

Linearity

f(a*x) == a*f(x)

Additivity

f(x + y) == f(x) + f(y)

Idempotence

f(f(x)) == f(x)

Permutation Invariance

f(permute(x)) == f(x)

Resources