-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!ne
ws.chmurka.net!.POSTED.pi.v.chmurka.net!not-for-mail
From: q...@t...no1 (Queequeg)
Newsgroups: pl.comp.programming
Subject: Re: Niezmienniki pętli
Date: Tue, 20 Nov 2018 22:26:49 +0000 (UTC)
Organization: news.chmurka.net
Message-ID: <b...@t...no1>
References: <8...@g...com>
<7...@g...com>
<d...@g...com>
<psp6q7$97o$1@node2.news.atman.pl>
<6...@g...com>
<pss4d0$14n$1@node2.news.atman.pl>
<9...@t...no1>
<7...@g...com>
NNTP-Posting-Host: pi.v.chmurka.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 20 Nov 2018 22:26:49 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="gof";
posting-host="pi.v.chmurka.net:172.24.44.20"; logging-data="22347";
mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: tin/2.4.2-20171224 ("Lochhead") (UNIX) (Linux/4.4.50-v7+ (armv7l))
Cancel-Lock: sha1:BLLRArixCSqE9TDtT7poxysqNu0=
Xref: news-archive.icm.edu.pl pl.comp.programming:212956
[ ukryj nagłówki ]Maciej Sobczak <s...@g...com> wrote:
>> > To następna obserwacja: jeśl wpływa to na runtime release należy to
>> > odrzucić. Wszelakie checkery asercyjne, za wyjątkiem programowania
>> > defensywanego, nie mogą istnieć w kodzie produkcyjnym.
>>
>> Nigdy nie rozumiałem sensu tego rozumowania
>
> Sens jest również taki, że (jak na ironię!) w systemach krytycznych nie
> da się spełnić kryterium 100% pokrycia kodu testami czegoś, co ma
> asserta. Tzn. jeśli w kodzie jest assert, który *z założenia* ma się
> nigdy nie wykonać, to jest to tzw. dead code i ma go nie być. Bo jeśli
> jest, to nie da się go przetestować. Albo inaczej: nie da się wykazać
> testami, że coś się nigdy nie wykona, więc nie da się zdobyć w ten
> sposób pewności, że się nie wykona. A jeśli osiągniemy tą pewność innymi
> metodami (np. formalnymi), to asserta dynamicznego może wtedy w ogóle
> nie być.
To prawda. Ja (na szczęście -- bo odpowiedzialność jest ogromna) nigdy nie
pisałem systemów krytycznych, ani nigdy u SQA nie robiło u nas tego typu
testów (choć oczywiście to, co mówisz, ma sens).
> Zupełnie niezależnie od tego, w pewnych środowiskach walnięcie assertem
> jest bez sensu, bo i tak nie ma do kogo przekazać sterowania. Assert w
> rozruszniku serca jest bez sensu, nie tylko technicznie, ale też
> filozoficznie.
To znów bardzo specyficzne zastosowanie i podejrzewam, że programowanie
rozrusznika serca rządzi się swoimi regułami (raz, że jest to typowy układ
embedded bez możliwości wyrzucenia błędu -- bo jak, w pulsie pacjenta
zakodować linię kodu? -- a dwa, że jest to system krytyczny, w którym
nieprawidłowa praca programu może powodować chorobę lub śmierć).
Podejrzewam że pisząc oprogramowanie na rozruszniki serca stosuje się
jakąś formę MISRA lub odpowiednik i że są tam jakieś sprzętowe failsafe'y,
które uniemożliwiają przejście programowi w stan, który będzie zagrażał
życiu lub zdrowiu. Tak to sobie przynajmniej wyobrażam.
Z drugiej strony spotkałem się z systemem ładowania baterii (Li-Po), w
którym zamiast dedykowanego kontrolera wyłączanie ładowarki było robione
software'owo. Wszystko działało... do momentu, aż w systemie pojawił się
błąd i zasilanie baterii nie było wyłączane po zakończeniu (nie wiem też
co by było, gdyby urządzenie się zawiesiło).
> To nie jest tylko kwestia szybkości działania, to może być też kwestia
> sensowności istnienia samego asserta.
Tak... czasem nie ma możliwości zaraportowania błędu i jest pytanie typu
"ok, pojawił się błąd, ale co teraz?". Tylko właśnie -- co wtedy? Jeśli
mogę sobie na to pozwolić i na danej platformie ma to sens, to staram się
to w jakiś sposób zaraportować. Jeśli sensu ani możliwości nie ma, to
pozostaje przestawienie wyjść w niegroźny stan i kontrolowany restart...
i jeśli błąd nadal występuje, to tak w nieskończoność.
Tak czy inaczej, jeśli system umożliwia jakieś zaraportowanie błędu lub ma
możliwość interakcji z użytkownikiem, to używam tego. Zdarzało się, że
tego typu asserty wyskakiwały na produkcji (choć teoretycznie kod był
przetestowany przez SQA i teoretycznie nie powinny wyskoczyć). Dużo
bardziej wolę dostać raport o błędzie wraz z tym, co wypluł program i co
pozwala mi zdiagnozować błąd, niż pozwolić programowi działać dalej w
stanie, w którym nie powinien się znaleźć. Nawet jeśli nie ma możliwości
zaraportowania, to dużo bardziej wolę, jak program się zatrzymuje, a błąd
jest jawny, niż jak błąd jest ukrywany i po jakimś czasie coś działa, ale
nie tak jak powinno.
Oczywiście nie pisząc oprogramowania na rozruszniki itd. systemy mogę
sobie na to pozwolić -- awaria programu nie ma w tym przypadku skutków
zdrowotnych (choć może mieć finansowe wynikające z braku możliwości
używania programu).
--
https://www.youtube.com/watch?v=9lSzL1DqQn0
Następne wpisy z tego wątku
- 20.11.18 23:27 g...@g...com
- 21.11.18 08:16 Maciej Sobczak
- 21.11.18 11:12 Queequeg
- 21.11.18 11:36 fir
- 21.11.18 15:54 AK
- 21.11.18 16:07 AK
- 21.11.18 20:32 g...@g...com
- 21.11.18 20:35 g...@g...com
- 21.11.18 22:10 Queequeg
- 21.11.18 22:28 Maciej Sobczak
- 21.11.18 22:48 Maciej Sobczak
- 21.11.18 23:04 g...@g...com
- 22.11.18 11:31 Maciej Sobczak
- 22.11.18 15:22 fir
- 22.11.18 16:08 AK
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-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek
- 2025-07-13 Unia Europejska przygotowuje nowy podatek
- 2025-07-12 Warszawa => PC Hardware Expert / Specjalista PC <=
- 2025-07-12 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-07-12 Warszawa => Administrator IT <=
- 2025-07-12 Warszawa => IT Administrator <=
- 2025-07-12 Warszawa => Asystent/tka ds. Administracji <=
- 2025-07-12 Warszawa => Specjalista/stka ds. Organizacji <=
- 2025-07-12 Warszawa => MENA New Business Manager <=
- 2025-07-12 Gdynia => Controlling systems Consultant <=
- 2025-07-12 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-07-12 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-07-12 Warszawa => Dyrektor IT <=