디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

Ada 프로그래밍: 9. 계약에 의한 설계(DbC)

나르시갤로그로 이동합니다. 2025.08.11 00:26:50
조회 105 추천 0 댓글 0

9. 계약에 의한 설계(DbC)

Ada 2012에서 표준화된 계약에 의한 설계(Design by Contract, DbC)는 프로그래머가 형식적이고 검증 가능한 명세를 소스 코드에 직접 내장할 수 있게 하여 Ada의 신뢰성 기능을 향상시킵니다. 이러한 계약은 실행 가능한 문서 역할을 하며, 고수준 요구사항을 구현에 연결합니다. 컴파일러 스위치(-gnata)로 활성화하면, 이러한 계약은 실행 시간에 검사되어 위반 시 Assert_Failure 예외를 발생시킵니다.

Ada에서 DbC의 핵심 구성 요소는 다음과 같습니다:

  • 전제조건(Preconditions): 서브프로그램이 호출되기 전에 참이어야 하는 조건입니다. 이는 호출자 측의 의무입니다. with pre =>...로 지정됩니다.

    function square_root (x : Float) return Float with pre => x >= 0.0;
    
  • 후조건(Postconditions): 서브프로그램이 성공적으로 완료되었을 때 참이 될 것을 보장하는 조건입니다. 이는 서브프로그램 구현 측의 의무입니다. with post =>...로 지정됩니다. 후조건은 'old 속성으로 매개변수의 초기 값을, 'result 속성으로 함수의 결과를 참조할 수 있습니다.

    procedure increment (value : in out Integer) with post => value = value'old + 1;
    
  • 형식 불변식 및 술어(Type Invariants and Predicates): 주어진 형식의 모든 객체에 대해 항상 참이어야 하는 조건입니다. 술어(with static_predicate => ...)는 해당 형식의 값이 생성되거나 수정될 때마다 검사되는 속성입니다. 불변식(with type_invariant => ...)은 개인 형식의 속성으로, 공개 연산의 경계에서 검사됩니다.

계약은 유용한 도구입니다. 컴파일된 코드와 일치하는 문서를 제공합니다. 테스트와 디버깅을 위한 정확한 기반 역할을 하며, 형식적 검증 도구에 대한 중요한 입력이 됩니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 해외에서 겪는 불합리한 대우에 대응 잘 할 것 같은 스타는? 운영자 25/11/03 - -
AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
2882168 [대한민국][충격] 선관위 'C 컴파일러'! 믿을 수 없는 전산조작! 프갤러(121.172) 08.17 125 0
2882167 동생이 맡긴 도마뱀 발명도둑잡기갤로그로 이동합니다. 08.17 125 0
2882166 산출할수 없는걸 산출하려 하지말라 By 나님 ♥냥덩이♥갤로그로 이동합니다. 08.17 124 0
2882163 컨설팅 회사 RA 인턴 어떰? 프갤러(211.36) 08.17 156 0
2882162 연출력 미쳣당 ㄷㅅㄷ 감각 ㅆㅅㅌㅊ ♥냥덩이♥갤로그로 이동합니다. 08.17 101 0
2882160 외주받으려고 숨고 써봤는데 이거 절대 쓰지마라 [2] 프갤러(106.101) 08.17 183 0
2882159 나님은 심리학을 마스터햇당 [1] ♥냥덩이♥갤로그로 이동합니다. 08.17 138 0
2882157 회사에다 그만두고싶다고 했더니 [3] ㅇㅇ(160.238) 08.17 162 0
2882156 아무리 자세하게 명세 짜도 한계가 있네 LLM 구현은 [3] ㅆㅇㅆ(124.216) 08.17 140 0
2882154 인지과학조져라 손발이시립디다갤로그로 이동합니다. 08.17 114 0
2882152 “맥도날드도 안 뽑아준다” AI에 밀려난 코딩 전공자들 절규 프갤러(218.50) 08.17 493 0
2882151 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 08.17 156 0
2882150 코딩으로 먹고살려면 심리학 공부하는게 맞는듯 [1] ㅇㅇ(14.51) 08.17 189 0
2882149 나님 피규어 삿어양❤+ ♥냥덩이♥갤로그로 이동합니다. 08.17 158 0
2882147 좋았어 발명도둑잡기갤로그로 이동합니다. 08.17 136 0
2882144 [해방80년특집: 숭미의 기원①] 광화문 성조기는 어디서 왔나 발명도둑잡기갤로그로 이동합니다. 08.17 125 0
2882142 냥덩 만화상 이 만화가 대단하당⭐ 14회 수상작 ♥냥덩이♥갤로그로 이동합니다. 08.17 136 0
2882141 한일 협정 반대 여론을 막아라…미국의 심리전 발명도둑잡기갤로그로 이동합니다. 08.17 106 0
2882140 컴공이 미술학 전공자보다 실업률 2배 높아 [2] ㅇㅇ(182.210) 08.17 602 0
2882136 냥덩이 ㅋㅋㅋㅋㅋ 발명도둑잡기갤로그로 이동합니다. 08.17 119 0
2882135 더불어짱깨단 몰래 중공 만남 ♥냥덩이♥갤로그로 이동합니다. 08.17 117 0
2882132 대통령놀이 무능극좌 이재명을 탄핵해라 ♥냥덩이♥갤로그로 이동합니다. 08.17 149 0
2882131 요즘 전공타령하는 개발자 한심하긴 함 [3] 밀우갤로그로 이동합니다. 08.17 255 0
2882130 해산물로 2틀 채웟으니 애널은 육고기❤+ ♥냥덩이♥갤로그로 이동합니다. 08.17 116 0
2882129 점심 발명도둑잡기갤로그로 이동합니다. 08.17 120 0
2882128 헬마 씹새끼야 [2] 아스카영원히사랑해갤로그로 이동합니다. 08.17 189 1
2882127 아 돈 벌어서 미국 나가서 살고 싶다- 프갤러(121.172) 08.17 76 0
2882126 아침 롤빵 발명도둑잡기갤로그로 이동합니다. 08.17 98 0
2882125 분산도 좋지만 가끔은 몰빵도 끌리는 법 ♥냥덩이♥갤로그로 이동합니다. 08.17 100 0
2882124 일본 속 깊숙이 스며있는 백제의 흔적 발명도둑잡기갤로그로 이동합니다. 08.17 120 0
2882123 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 08.17 126 0
2882122 오늘 점심.jpg [1] 야옹아저씨갤로그로 이동합니다. 08.17 152 0
2882121 시월은되야 시원해질듯 ♥냥덩이♥갤로그로 이동합니다. 08.17 149 0
2882118 국민임명식 x 왕따인증식 O ♥냥덩이♥갤로그로 이동합니다. 08.17 120 0
2882116 퐁퐁 받으러 간다. 넥도리아(223.38) 08.17 106 0
2882115 짱깨와 장애아로 채워지는 한국상황 ㄹㅇ;; ♥냥덩이♥갤로그로 이동합니다. 08.17 154 0
2882113 아직도 일욜이니 좋지아니한가 ♥냥덩이♥갤로그로 이동합니다. 08.17 123 0
2882112 틱톡이 유일하게 유튭에 비빌만하지 ㅇㅅㅇ ♥냥덩이♥갤로그로 이동합니다. 08.17 127 0
2882111 와 시발 vpn이 https 범용버전이였음??? ㅇㅇ(211.210) 08.17 158 0
2882110 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 08.17 145 0
2882109 내일부터 운동 다시 들어가자 프갤러(61.79) 08.17 95 0
2882108 요즘 아침조차 뛰뛰하기엔 넘 더움 ♥냥덩이♥갤로그로 이동합니다. 08.17 116 0
2882107 집으로.. ♥냥덩이♥갤로그로 이동합니다. 08.17 100 0
2882106 내 글 왜 실베감??? [4] 아스카영원히사랑해갤로그로 이동합니다. 08.17 177 0
2882105 왕따 소녀를 지켜준 훈남의 정체 <보디가드의 비밀 계약> 발명도둑잡기갤로그로 이동합니다. 08.17 119 0
2882104 난 더 진화한건가... 프갤러(61.79) 08.17 97 0
2882103 특이점 온다 노동해방시대 기본소득제도시대가 온다 ㅇㅇ 뒷통수한방(1.213) 08.17 116 0
2882097 배급견 이재명을 예언한 삼성 이건희 회장 ♥냥덩이♥갤로그로 이동합니다. 08.17 210 0
2882095 왼똥오밥 ㅋㅅㅋ 종니 웃기넹 ♥냥덩이♥갤로그로 이동합니다. 08.17 94 0
2882091 좇센 채용시장 ) 응 외노자쓰면돼~~응 ai쓰면돼~~ 뒷통수한방(1.213) 08.17 106 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2