2014-02-10 9 views
4

저는 Mordechai Ben-Ari라는 책에서 영감을 얻은 FOL 및 프로그램 인증에 대한 교육을 받고 있습니다. 컴퓨터 과학 수학 논리, Springer, 1993-2012. 학생들이 파이썬으로 프로그램하도록함으로써 개념을 설명하고자합니다.Python 프로그램 확인

FOL의 경우 FOL 패키지가 우수한 NLTK를 사용하고 있습니다.

하지만 난 아직 발견되지 않은 프로그램 검증위한 파이썬 패키지 삽입 전제 조건 및 사후 논리적 공식, 즉 등의 단계로 파이썬 프로그램 단계를 확인, 루프 불변을 찾아내는 호어 논리를 사용하는 파이썬 내부 및 파이썬 프로그램 용 프레임 워크.

이 작업에 대한 패키지를 알고 계십니까?

+1

ummmm unittest + mock? –

+0

FOL == 1 차 주문 로직? – pillmuncher

+0

예, FOL = First Order Logic, 당연한 것으로 생각해서 죄송합니다. – yannis

답변

1

프로그램 검증시 MOOC를 가르치십니까? 아니면 코드를 표시하기위한 화면이있는 일반 강의실이 될 것입니까? 당신이 처분 할 수있는 화이트 보드를 가지고 있습니까?

추가 도구를 사용하려는 경우 Philip Guo 교수가 개발 한 온라인 Python Tutor (http://www.pythontutor.com/)는 훌륭한 도구입니다. 이 도구를 사용하면 프로그램 실행을 단계별로 수행하여 프로그램 '상태'(변수 및 해당 구체적 값)를 표시 할 수 있습니다. 내가 아는 한, 사전/사후 조건이나 루프 불변량을 지정/추측 할 수는 없습니다. 자, 이 선생님으로 보드에 사전/사후 조건을 쓰고, 프로그램을 단계적으로 진행하고, 조건이 참으로 참임을 에 설명하고, 파이썬 튜터를 사용하여 변수의 구체적인 값을 표시하는 경우를 볼 수 있습니다. . 루프 인바 리언 트를 표시하는 데 거의 비슷한 접근 방식을 사용할 수 있습니다.

이렇게 말한 후에, pythontutor는 빠르게 인기를 얻고 있으며 추가 기능에 대해 작성자에게 트릭을 할 수 있는지 묻습니다!