spec-bottomup

Generate ACSL specifications for C programs and verify them with Frama-C WP.

Updated Jun 26, 2026
One-click install
npx skills add https://github.com/leisure118/spectool --skill spec-bottomup
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: spec-bottomup
Source: https://github.com/leisure118/spectool/tree/main/.claude/skills/spec-bottomup
Command: npx skills add https://github.com/leisure118/spectool --skill spec-bottomup

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires spectool, frama-c, alt-ergo, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill automates the generation of ACSL specifications for C programs, making it easier to create formal specifications and verify code.

Core Features & Use Cases

  • ACSL Annotation Generation: Automatically generates ACSL annotations for C programs, including loop invariants, loop assigns, loop variants, and function contracts.
  • Frama-C WP Verification: Integrates with Frama-C WP to verify the generated specifications.
  • Use Case: A developer can use this Skill to automatically generate ACSL specifications for their C code, allowing them to verify their code's correctness without manual intervention.

Quick Start

Use the spec-bottomup skill to generate ACSL annotations for the C program 'example.c'.

Frequently Asked Questions about spec-bottomup

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automatically generate ACSL specifications for C programs?

To automatically generate ACSL specifications for C programs, you can use this Skill to create loop invariants, loop assigns, loop variants, and function contracts without manual coding intervention.

What is the best way to verify ACSL annotations using Frama-C?

The best way to verify ACSL annotations using Frama-C is to use this Skill, which integrates directly with Frama-C WP to formally verify the generated specifications for your C code.

Do I need to install spectool and Alt-Ergo to generate formal verification annotations?

Yes, you need to install the spectool CLI and Frama-C plus Alt-Ergo environments, as these dependencies are required to generate and verify the formal specifications.

Can I automate formal verification of C code without writing manual ACSL contracts?

Yes, you can automate formal verification of C code without writing manual ACSL contracts by applying this Skill to infer and generate the required annotations automatically.

How does automated specification generation work for C program testing workflows?

Automated specification generation for C program testing works by analyzing the source code to infer properties and outputting ACSL annotations, which are then passed to Frama-C WP for verification.

What types of ACSL annotations can be automatically generated for C functions?

The types of ACSL annotations that can be automatically generated for C functions include function contracts, loop invariants, loop assigns, and loop variants to ensure code correctness.