추상 도메인 탐색기
구간·부호·합동·옥타곤·폴리헤드라 등 추상 해석 도메인을 골라 프로그램 변수의 값 범위와 불변식을 코드 실행 없이 추론해 주는 스킬입니다.
개발·코딩고급★ 142⑂ 14AI 점수 9/10마지막 업데이트: 2026. 2. 22.
무엇을 해주나
추상 해석(abstract interpretation)을 이용해 코드를 실행하지 않고 변수의 값 범위와 변수 간 관계, 루프 불변식을 정적으로 추론합니다.
- 도메인 선택 가이드: Sign, Interval, Congruence, Octagon, Polyhedra, Reduced Product의 정밀도·비용 트레이드오프 표를 제공하고 목적에 맞는 도메인을 고르게 합니다.
- 6단계 분석 워크플로: 도메인 선택 → 초기 추상 상태 설정 → 전이 함수 적용(대입/조건/조인) → 루프 위드닝(∇)으로 종료 보장 → 내로잉(△)으로 정밀화 → 불변식 추출.
- 안전성 판정: 배열 인덱스 범위 초과, 0으로 나누기 가능성 등 위험 지점을 근사값 기반으로 보고합니다.
- 정직한 근사 표기: 근사값을 정확한 값처럼 말하지 않고 선택한 도메인의 한계(예: 옥타곤은 y = 2x를 표현 못함)를 함께 명시하도록 규칙화되어 있습니다.
이런 분께 추천
- 정적 분석·형식 검증·컴파일러 최적화를 공부하거나 연구하는 분
- 코드 리뷰 중 루프 불변식이나 변수 범위를 논리적으로 정리해야 하는 개발자
- 프로그램 분석 과목 과제나 논문 예제를 손으로 풀어보며 이해하고 싶은 학생
활용 예시
int x=0; while(x<10){x++; y--;}코드를 넘기면 구간 도메인으로 루프 내부x ∈ [0,9], 종료 시x=10, y=90을 유도하고, 구간만으로는x+y=100을 못 잡는다는 한계까지 설명합니다.y = x*x; z = 100/y;처럼 보이는 코드에서 부호 도메인으로y ≥ 0을 얻고y=0가능성 때문에 0으로 나누기 위험이 있다고 판정합니다.- 이중 루프에서 옥타곤 도메인을 적용해
j ≤ i같은 관계형 불변식을 뽑아내고, 더 복잡한z = 3x같은 선형 관계는 폴리헤드라로 넘어가야 함을 안내합니다.
· · · 설치 가이드 · · ·
설치 없이 지금 한 번 써보기
아래를 Claude에 붙여넣으면 설치하지 않고도 이 스킬을 그대로 씁니다.
이 파일의 지시를 읽고 그대로 따라서 나를 도와줘: https://raw.githubusercontent.com/ArabelaTso/Skills-4-SE/HEAD/skills/abstract-domain-explorer/SKILL.md 내가 원하는 것: (여기에 하고 싶은 일을 쓰세요)
Claude가 링크를 열지 못하면, 링크를 직접 열어 내용을 복사해 붙여넣으세요.
↓ 쓸 만하면 아래에서 ZIP을 받아 설치하세요. 그러면 매번 붙여넣지 않아도 알아서 작동합니다.
Claude 앱에 설치 (터미널 필요 없음)
- 아래 버튼으로 ZIP 파일을 받으세요.
- Claude 설정 → Capabilities에서 '코드 실행 및 파일 생성'을 켭니다. (한 번만)
- Claude에서 Customize → Skills → + → '스킬 업로드'를 누르고 받은 ZIP을 올립니다.
Claude Code에 설치
Claude에게 맡기기 — 아래 문장을 Claude Code에 붙여넣으세요
클로드스킬마트에서 찾은 스킬을 설치해줘. GitHub 저장소 ArabelaTso/Skills-4-SE 의 skills/abstract-domain-explorer 폴더를 내 ~/.claude/skills/abstract-domain-explorer/ 에 그대로 복사해줘. 설치가 끝나면 이 스킬로 무엇을 할 수 있는지 한 줄로 알려줘.
직접 명령으로 설치하기
git clone https://github.com/ArabelaTso/Skills-4-SE.git && mkdir -p ~/.claude/skills && cp -r Skills-4-SE/skills/abstract-domain-explorer ~/.claude/skills/⚠ 제3자가 만든 스킬입니다. 설치 전 원본 저장소를 한 번 확인하세요.
- 터미널을 엽니다.
- 저장소를 내려받습니다:
git clone https://github.com/ArabelaTso/Skills-4-SE.git - 스킬 폴더를 만듭니다:
mkdir -p ~/.claude/skills - 스킬을 복사합니다:
cp -r Skills-4-SE/skills/abstract-domain-explorer ~/.claude/skills/ references/abstract_domains.md참고 문서가 함께 복사되었는지 확인합니다.- Claude Code를 다시 시작한 뒤 "이 루프의 불변식을 추상 해석으로 추론해줘"처럼 요청하면 스킬이 자동으로 발동합니다.
GitHub에서 원본 보기 ↗라이선스: Apache-2.0