«software-verification» 태그된 질문

6
실제 공식 프로그램 검증
소프트웨어 엔지니어로서 저는 산업용 제품에 대한 많은 코드를 작성합니다. 클래스, 스레드, 일부 디자인 노력, 성능 저하와 함께 비교적 복잡한 작업. 나는 많은 테스트를 수행하고 테스트에 지쳤으므로 Coq, Isabelle과 같은 공식적인 증거 도구에 관심이있었습니다 ...이 중 하나를 사용하여 내 코드에 버그가 없으며 완료되었음을 증명할 수 있습니까 그것으로? -그러나 이러한 도구 중 …

6
Turing의 "Halting problem‍"을 해결하는 알고리즘
이 질문은 컴퓨터 과학 스택 교환에서 대답 할 수 있기 때문에 이론적 인 컴퓨터 과학 스택 교환에서 마이그레이션 되었습니다. 7 년 전에 이주했습니다 . "Alan Turing은 1936 년에 가능한 모든 프로그램 입력 쌍에 대한 정지 문제를 해결하기위한 일반적인 알고리즘이 존재할 수 없음을 증명했습니다. " 나는에 대한 중단 문제를 해결하기 위해 …

4
두 알고리즘이 입력에 대해 동일한 결과를 반환하는지 어떻게 확인합니까?
모든 입력 세트가 무한 할 때 두 알고리즘 (예 : 병합 정렬 및 Naïve 정렬)이 입력에 대해 동일한 결과를 반환하는지 어떻게 확인합니까? 업데이트 : Ben 이 일반적인 경우 알고리즘 적으로 수행하는 방법을 설명해 주셔서 감사합니다 . Dave의 대답 은 항상 작동하지는 않지만 매우 효과적인 알고리즘 및 수동 (인간 위트 및 …

2
프로그램 정확성, 사양
위키피디아 (Wikipedia) : 이론적 인 컴퓨터 과학에서 알고리즘의 정확성은 알고리즘이 사양과 관련하여 정확하다고 언급 될 때 주장된다. 그러나 문제는 "적절한"사양을 얻는 것이 사소한 작업이 아니며 올바른 방법을 얻을 수있는 100 % 올바른 방법이 없다는 것입니다. "하나"와 같이 "보이기"때문에 술어를 스펙으로 사용하십시오. 왜 "보이기"때문에 프로그램을 올바른 것으로 간주하지 않습니까?

1
컴파일 타임 보장에 대해 더 연구하지 않는 이유는 무엇입니까?
나는 컴파일 시간 인 모든 것을 좋아하며 일단 프로그램을 컴파일하면 실행에 대해 많은 보장이 이루어집니다. 일반적으로 정적 유형 시스템 (Haskell, C ++, ...)은 동적 유형 시스템보다 강력한 컴파일 타임 보장을 제공하는 것 같습니다. 내가 이해 한 바에 따르면, Ada는 컴파일 시간 검사와 관련하여 훨씬 더 나아가고 실행 전에 더 많은 …

2
Hoare 스타일 정확성 증명 중 배열 처리 방법
이 질문에 대한 토론 에서 Gilles는 배열을 사용하는 알고리즘의 정확성 증명이 범위를 벗어난 배열 액세스가 없음을 증명해야한다고 올바르게 언급합니다. 런타임 모델에 따라 런타임 오류가 발생하거나 배열이 아닌 요소에 액세스 할 수 있습니다. 이러한 정확성 증명을 수행하는 일반적인 기술 중 하나는 (최소 저학년 연구 및 아마도 자동화 된 검증에서) Hoare 논리 …

4
기능 코드의 정확성을 입증하는 일반적인 공식 기술은 무엇입니까?
논문의 일부로 작성중인 Haskell 프로그램의 일부에 대한 증거를 제공하고 싶습니다. 그러나 지금까지 좋은 참고 자료를 찾지 못했습니다. 그레이엄 허튼의 입문 책 하스켈 프로그램 ( Google 도서는 다음과 같은 프로그램에 대해 추론을위한 몇 가지 기술을 하스켈-접촉을 배우면서) 본인은 - 어떤 방정식 추론 겹치지 않는 패턴 사용 목록 유도 13 장에 있지만 …

6
프로그램 검증 기술로 Heartbleed 장르의 버그가 발생하지 않을 수 있습니까?
Heartbleed 버그와 관련하여 Bruce Schneier는 4 월 15 일 Crypto-Gram에 'Catastrophic'이 올바른 단어라고 썼습니다. 1에서 10까지는 11입니다. ' 몇 년 전에 특정 운영 체제의 커널이 최신 프로그램 확인 시스템으로 엄격하게 검증되었다는 것을 읽었습니다. 따라서 Heartbleed 장르의 버그가 오늘날 프로그램 검증 기술의 적용을 통해 발생하는 것을 막을 수 있습니까? 아니면 이것이 …

2
1 차 로직 검증 소개
소프트웨어 검증에 대한 다른 접근 방식을 스스로 가르치려고합니다. 몇 가지 기사를 읽었습니다. 내가 아는 한, 시간이있는 제안 논리는 일반적으로 SAT 솔버와 함께 모델 검사를 사용합니다 (진행중인 시스템에서) 시간이있는 1 차 논리는 ​​어떻습니까? 정리 프로 버를 사용합니까? 아니면 SAT도 사용할 수 있습니까? 이 문제에서 초보자를위한 책이나 기사에 대한 조언은 대단히 높이 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.