SW wykład 1 - Slajd16: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mengel (dyskusja | edycje)
Nie podano opisu zmian
 
Dorota (dyskusja | edycje)
Nie podano opisu zmian
 
(Nie pokazano 2 wersji utworzonych przez 2 użytkowników)
Linia 1: Linia 1:
{{Semantyka i weryfikacja programów/Wykład 1}}
[[Grafika:sw0115.png|frame|center|]]
[[Grafika:sw0115.png|frame|center|]]


Tutaj opis do slajdu
Budowę w pełni wiarygodnych metod rozumowania o programach i
dowodzenia ich własności rozpocząć musimy od zdefiniowania semantyki
rozważanych programów. Podobnie dla warunków poprawności tych
programów: wykorzystując semantykę programów, należy formalnie
zdefiniować, kiedy zachodzą dotyczące tych program warunki
poprawności. Dalej możemy już opracować reguły dowodzenia tych
warunków i w oparciu o ich semantykę przeprowadzić dowód poprawności
tych reguł. W ten sposób wykażemy poprawność systemu dowodzenia
poprawności: każdy warunek poprawności programu, który potrafimy
udowodnić, rzeczywiście będzie zachodził (w sensie określonym
precyzyjnie przez semantykę). Pozostaje jeszcze analiza pełności
proponowanego systemu: czy wszystkie semantycznie prawdziwe warunki
poprawności można udowodnić? Na ogół jednak proponowane w tak
absolutny sposób systemy nie będą pełne: wtedy można pokazać przynajmniej
jakieś ograniczone wersje pełności, by przynajmniej przekonać się, że
nie pominęliśmy możliwości (i potrzeby) dowodzenia poprawności jakichś
ważnych klas programów.

Aktualna wersja na dzień 09:58, 27 wrz 2006

<<powrót do strony wykładu

Wstęp Literatura Programy Programy, sprzeczne oczekiwania WielkiCel Składnia Semantyka Pragmatyka Logika Metodyka Implementacja Formalna semantyka Przykład Przykład, c.d. Przykład, reguła dowodzenia Uzasadnianie poprawności Plan zajęć

Budowę w pełni wiarygodnych metod rozumowania o programach i dowodzenia ich własności rozpocząć musimy od zdefiniowania semantyki rozważanych programów. Podobnie dla warunków poprawności tych programów: wykorzystując semantykę programów, należy formalnie zdefiniować, kiedy zachodzą dotyczące tych program warunki poprawności. Dalej możemy już opracować reguły dowodzenia tych warunków i w oparciu o ich semantykę przeprowadzić dowód poprawności tych reguł. W ten sposób wykażemy poprawność systemu dowodzenia poprawności: każdy warunek poprawności programu, który potrafimy udowodnić, rzeczywiście będzie zachodził (w sensie określonym precyzyjnie przez semantykę). Pozostaje jeszcze analiza pełności proponowanego systemu: czy wszystkie semantycznie prawdziwe warunki poprawności można udowodnić? Na ogół jednak proponowane w tak absolutny sposób systemy nie będą pełne: wtedy można pokazać przynajmniej jakieś ograniczone wersje pełności, by przynajmniej przekonać się, że nie pominęliśmy możliwości (i potrzeby) dowodzenia poprawności jakichś ważnych klas programów.