-
Data: 2019-09-12 12:05:02
Temat: Re: Jak to robią w NASA
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Thursday, September 12, 2019 at 9:21:42 AM UTC+2, Maciej Sobczak wrote:
> > 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.
Na razie rozumiem, że "verification condition" to jest cokolwiek z czego
prawdziwości wynika poprawność programu, albo czego prawdziwości jest
tożsama z poprawnością programu. Coś w rodzaju
X => Y
X <=> Y
Gdzie X to jest poprawny verification condition, a Y oznacza poprawność
programu.
Zwykle stosuję słabsze wnioskowanie, np. że z NIE prawdziwości warunków
testowych wynika że program jest nie 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ń.
Tak, to chyba wynika z prawdziwości zdania "kompilator nie ma błędów".
> [2] Przykładem takiego warunku jest np. to, co było pokazane dla funkcji max,
Tak, tamto zrozumiałem, choć do składni w adnotacjach bym musiał przywyknąć.
> albo to, że funkcja sortująca faktycznie sortuje albo to, że
> funkcja abs nigdy nie zwróci wartości ujemnej, itd.
Abs i sortowanie stanowią stosunkowo łatwe przykłady. Zwykle nie wiem
jak mam zrobić warunki, gdy mam okienko dialogowe np. z 20ma polami i
piszę parser czy użytkownik nie wpisał blędnych wartości? Czy parser
przepuści jakiś przypadek błędnych danych wejściowych dla programu?
Niby sam parser jest takim warunkiem, działa na zasadzie: dane złe, to
warunek je wychwyci.
> 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ń.
O jakie założenie i o jakie rozważania chodzi?
> 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.
Nie używałem assume. Widzę że w C/C++ microsofcie coś dodali:
https://docs.microsoft.com/en-us/cpp/intrinsics/assu
me?view=vs-2019
A w GCC zalecają sztuczki:
https://stackoverflow.com/questions/25667901/assume-
clause-in-gcc
https://stackoverflow.com/questions/6031819/emulatin
g-gccs-builtin-unreachable
Nie rozumiem, jakie są korzyści z dodania pustej funkcji, albo z operacji
bitowej AND z samymi jedynkami:
x = x & (~0);
Chociaż bezpieczniej byłoby OR z zerami:
x = x | 0;
Pozdrawiam
>
> --
> Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 13.09.19 08:14 Maciej Sobczak
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=