-
X-Received: by 2002:a0c:a5a5:: with SMTP id z34mr15044033qvz.110.1568272901768; Thu,
12 Sep 2019 00:21:41 -0700 (PDT)
X-Received: by 2002:a0c:a5a5:: with SMTP id z34mr15044033qvz.110.1568272901768; Thu,
12 Sep 2019 00:21:41 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
!2.eu.feeder.erje.net!news.unit0.net!news.mixmin.net!proxad.net!feeder1-2.proxa
d.net!209.85.160.216.MISMATCH!o24no10218268qtl.0!news-out.google.com!x7ni73qtf.
0!nntp.google.com!o24no10218256qtl.0!postnews.google.com!glegroupsg2000goo.goog
legroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 12 Sep 2019 00:21:41 -0700 (PDT)
In-Reply-To: <6...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=165.225.84.80;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 165.225.84.80
References: <1ua4wui506zbf$.dlg@tyczka.com> <qkecqc$c03$1@news.icm.edu.pl>
<3...@g...com>
<qkicu0$knb$1@gioia.aioe.org>
<4...@g...com>
<qkjqqi$1b59$1@gioia.aioe.org>
<0...@g...com>
<r...@t...com>
<e...@g...com>
<1...@g...com>
<1...@g...com>
<a...@g...com>
<8...@g...com>
<4...@g...com>
<e...@g...com>
<8...@g...com>
<f...@g...com>
<6...@g...com>
<e...@g...com>
<9...@g...com>
<c...@g...com>
<6...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b...@g...com>
Subject: Re: Jak to robią w NASA
From: Maciej Sobczak <s...@g...com>
Injection-Date: Thu, 12 Sep 2019 07:21:42 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:214002
[ ukryj nagłówki ]> A konkretnie, co jest na temat a co nie jest i na jaki?
Pół dyskusji w tym wątku było nie na temat tego wątku.
> Nie wiem co to
> jest "verification condition".
To jest coś, co zakładamy[1], że jest prawdą albo co musi być wykazane[2], że jest
prawdą, żeby program uznać za poprawny.
[1] Przykładem takiego założenia jest np. zakres wartości typu int. Tego się nie
udowadnia, to się przyjmuje i dane z tego założenia są WEjściem dla innych rozważań.
[2] Przykładem takiego warunku jest np. to, co było pokazane dla funkcji max, albo
to, że funkcja sortująca faktycznie sortuje albo to, że funkcja abs nigdy nie zwróci
wartości ujemnej, itd. Takich rzeczy nie wiemy z góry, ale możemy je wykazać (albo im
zaprzeczyć) wnioskując na podstawie informacji, które już znamy.
Fachowo, dowiedzenie, że VC (verification condition) jest spełnione nazywa się
"discharge". Ale po polsku najlepiej powiedzieć, że jest "spełnione", bo
"rozładowywanie warunków" brzmi głupio. Dowody mogą być automatyczne albo ręczne.
I teraz ciekawostka: asercja napisana przy użyciu makra "assert" może być traktowana
jako warunek do wykazania *oraz* jako nowe założenie dla dalszych rozważań. W
niektórych językach do tego drugiego celu służy konstrukcja "assume" i stosuje się ją
wtedy, kiedy wiedza na jakiś temat pochodzi z zewnątrz - np. z tego, jak i gdzie dany
program jest użytkowany.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 12.09.19 12:05 M.M.
- 13.09.19 08:14 Maciej Sobczak
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2025-01-04 gasik
- 2025-01-04 13. Raport Totaliztyczny: Powszechna Deklaracja Praw Człowieka Nie Chroni Przed Wyzyskiem Ani Przed Eksploatacją
- 2025-01-04 Zbieranie danych przez www
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r
- 2025-01-04 Warszawa => Specjalista ds. IT - II Linia Wsparcia <=
- 2025-01-04 Warszawa => Java Developer <=
- 2025-01-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-04 Warszawa => System Architect (Java background) <=
- 2025-01-04 Wrocław => Application Security Engineer <=
- 2025-01-04 Chrzanów => Specjalista ds. public relations <=
- 2025-01-04 Katowice => Key Account Manager (ERP) <=
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i