디시인사이드 갤러리

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

갤러리 본문 영역

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

나르시갤로그로 이동합니다. 2025.08.11 00:26:50
조회 71 추천 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/09/01 - -
AD 가전디지털, 신학기 페스타! 운영자 25/08/29 - -
2884756 웹앱 vs 임베디드 [1] 프갤러(175.112) 08.26 120 0
2884753 5천만국민이 개처럼 노예짓하고 r&d예산 좇나 올려도 성장률 마이너스누 뒷통수한방(1.213) 08.26 62 1
2884752 문재인 섹스톤 보유국가인데 갱생이 가능하겠냐?? ㅋㅋㅋㅋ 타이밍뒷통수한방(1.213) 08.26 86 0
2884750 스트레스 존나 받는다 진짜 [2] 주아갤로그로 이동합니다. 08.26 122 0
2884748 싸울려면 뉴프로에서 싸워라 [4] 헬마스터갤로그로 이동합니다. 08.26 128 0
2884744 윈도우/임베 초고수 시니어개발자입니다만!? 나님. [1] 네오커헠(211.234) 08.26 143 0
2884740 [애니뉴스] 귀인환등초 인기가 갈리는 이유 분석 프갤러(121.172) 08.26 55 0
2884737 밥그릇 하나에 4만원인데 살까 말까 [2] 나르시갤로그로 이동합니다. 08.26 111 0
2884733 일베 뿌리가 전라도 아님?? 뒷통수한방(1.213) 08.26 74 0
2884730 국힘은 문재인 이준석때부터 떡상함 뒷통수한방(1.213) 08.26 64 0
2884727 러스트 컴파일러는 결함이 심각합니다. 나르시갤로그로 이동합니다. 08.26 78 0
2884726 러스트는 진보된 언어가 아닙니다 나르시갤로그로 이동합니다. 08.26 67 0
2884725 [대한민국] 트럼프 이재명 만남- 프갤러(121.172) 08.26 74 0
2884723 다음 글 예고) 러스트는 나르시시즘 언어입니다. 나르시갤로그로 이동합니다. 08.26 63 0
2884722 러빨러가 설칠 수록 러스트 쓰레기임이 더 퍼지죠 나르시갤로그로 이동합니다. 08.26 66 0
2884721 러스트 헬로월드가 nimf를 욕하는 수준은.. ㅎㅎ 나르시갤로그로 이동합니다. 08.26 67 0
2884720 헉 뭐지 사전과제 합격했었네… 꼬치의달인갤로그로 이동합니다. 08.26 89 0
2884719 러스트의 설계 결함: unsafe위에 세워진 safe 신화 나르시갤로그로 이동합니다. 08.26 67 0
2884718 러스트는 근본적으로 설계가 잘못되었습니다 나르시갤로그로 이동합니다. 08.26 91 1
2884716 유데미 강의 추천해주싈? ㅇㅇ(121.137) 08.26 769 0
2884715 러스트는 만들다만 언어입니다 나르시갤로그로 이동합니다. 08.26 74 0
2884714 국힘 좆병신 같은 새끼 뽑혔네 [4] 아스카영원히사랑해갤로그로 이동합니다. 08.26 153 0
2884711 되다만 똥같은 것들이 남 긁는걸 가지고 스스로 우월하다고 정신승리함. 프갤러(218.154) 08.26 78 0
2884710 확실히 한국애들이 잘 긁히는경향이 있음 ㅇㅇ(58.229) 08.26 82 0
2884705 러스트를 볼때마다 종이 빨대가 생각남 ㅇ.ㅇ(59.151) 08.26 91 0
2884703 1인 개발보다 그냥 사람모아서 창업하는게 나을텐데 [7] 네오커헠(121.157) 08.26 234 0
2884692 업워크 며칠째 일을 못받네 ㅆㅇㅆ(124.216) 08.26 78 0
2884690 개고기 팔이는 그냥 저능한 일베충 빠돌이 상대로 있어보이는 척 프갤러(211.234) 08.26 76 0
2884684 인지과학조져라 손발이시립디다갤로그로 이동합니다. 08.26 91 0
2884670 영업중인가.? ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08.26 59 0
2884668 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08.26 56 0
2884666 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08.26 90 0
2884605 누가 더 유명함 홀란드 제나 오르테가 디바(59.28) 08.26 111 0
2884599 단독보도) 러스트 언어를 배우면 안되는 결정적 이유 나르시갤로그로 이동합니다. 08.26 84 0
2884597 러빨러들이 허구한 날 타 언어를 쓰레기라 나르시갤로그로 이동합니다. 08.26 84 0
2884594 러스트, 반짝이는 갑옷의 무게 나르시갤로그로 이동합니다. 08.26 74 0
2884589 러빨러가 c/c++, 자바, 파이선 등의 언어 까듯, 러스트 까줄게요 나르시갤로그로 이동합니다. 08.26 72 0
2884580 러스트는 절름발이 쓰레기 언어입니다 나르시갤로그로 이동합니다. 08.26 80 0
2884572 서양존예 동양존예 차이 ㅇㅇ(58.229) 08.26 82 0
2884565 바텐더 내가 모든걸 다 잊을수있게 [2] 개멍청한유라갤로그로 이동합니다. 08.26 104 0
2884564 사실 러스트는 자바보다 후달려요 ㅎㅎ3 나르시갤로그로 이동합니다. 08.26 77 0
2884560 사실 러스트는 자바보다도 후달려요 ㅎㅎ 2 나르시갤로그로 이동합니다. 08.26 83 0
2884559 자바충일 될빠에 파이썬충이 될거임 뒷통수한방(1.213) 08.26 72 0
2884555 좇센 연봉 억단위인 과기부장관부터가 자바충인데 뒷통수한방(1.213) 08.26 76 0
2884552 좇센은 자바공화국 자격증공화국임 뒷통수한방(1.213) 08.26 66 0
2884550 준석이는 코딩할때마다 뽀록나서 요즘은 그냥 AI 잘 다룬다는 티내나본데 ㅆㅇㅆ(124.216) 08.26 104 0
2884542 사실 러스트는 자바보다도 후달려요 ㅎㅎ 나르시갤로그로 이동합니다. 08.26 60 0
2884527 준석이는 나랏세금으로 나랏일할시간이 개발함??? 뒷통수한방(1.213) 08.26 78 0
2884526 준석이는 왜 컴공으로 개발자 않하고 정치질하냐?? [1] 뒷통수한방(1.213) 08.26 130 0
2884524 준석이가 만든 프로그램인데 어캐생각함???? [9] ㅇㅇ(211.241) 08.26 182 0
뉴스 원조 미남 MC 정재환, 돌연 방송계를 떠난 이유...생활고까지 겪었던 긴 무명시절 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2