bezpecnost

Dan Lukes dan at obluda.cz
Thu Mar 2 00:34:16 CET 2006


Divacky Roman wrote:
> neni v lidskych silach vyvarovat se chyb typu
> 
> if ((bah = malloc(..)) = NULL)

	No, to jsme u toho. Prave na tento ty chyby upozornuje GCC varovanim. A 
kdyz se na varovani kasle, a ono se na ne kaslat musi, protoze kdo bude 
hledat, ktere varovani pribylo, kdyz se jejich celkovy pocet zvysil z 
3247 na 3248,  no tak to tam samozrejme zustane.

	Ale to by bylo znovu dokola. Ja bych obhajoval, ze na tyhle chyby ti 
prijdou lidi, kteri maji zajem na vyvoji participovat, ale musi byt vule 
jim to umoznit - coz znamena - dovolit jim eliminovat tech 3247 
varovani, aby to nasledujici (v te chvili jedine) mohli analyzovat - a 
bud' zjistit, ze je to skutecne chyba, nebo lehce eliminovat dalsi 
falesne varovani.

	Tys ovsem presvedcen, ze tahat do toho lidi je zbytecne, protoze ty 
problemy vyresi tech par zasvecenych s pristupem k zakoupenemu toolu.

	Nicmene, nerad bych aby vznikl dojem, ze warningu povazuji za nejaky 
svaty gral, ktery vyresi vsechny problemy - pouzivam to jen jako priklad.

	Mimo jine take priklad toho, ze tam, kde ty vidis jen dve reseni (a obe 
automatizovana - tedy lepsi jazyk nebo automaticky testovaci tool), tak 
existuji i jina reseni. To, ze se navic domnivam, ze lepsi, protoze ve 
vysledku univerzalnejsi a spolehlivejsi je uz detail.

> az napises program, kteremu predlozis kus zdrojaku a on ti napise "program je
> bez chyby" tak fajn, ale tohle nejde. vim, ze existuji ruzne verifikacni
> formalismy, dokazovani programu (hoare-floyd) atd. ale realne se nic z toho
> nepouziva protoze je proste levnejsi zaplatit 10ti studentum 50 korun za hodinu
> at to testuji. a i kdyby se to pouzivalo tak to nikdy nebude fungovat 100%,
> takove jsou zakony prirody.

	Ty si myslis, ze problem se da vyresit "mechanicky" - lepsimi jazyky, 
automatickymi verifikacemi. Programator kod dodal, hlavne aby ho ten 
nabastlil zadarmo - a funkcnost, no vite, to jsme okoukali od Microsoftu 
- to se vezme deset studentu a oni otestuji par veci, co je napadne. 
Zkusime to zaridit tak, aby otestovali to, co si myslime, ze se bude 
nejcasteji pouzivat. Ano, mate pravdu, kdyz se pokusite pouzit neco 
jineho, nebo kdyz se vase podminky dostanou mimo "obvykle meze" - no tak 
vam ten system asi spadne. Vite, asi byste nemel pouzivat veci, ktere 
nepouziva 90% lidi. Na ty vase specialni pozadavky tady nikdo neni 
zvedavej. Takove uz jsou zakony prirody. Stabilni a spolehlivy system, 
takovy anachronismus. Vy jste se clovece muse narodit hodne davno v 
minulym stoleti ...

	Ano, trochu prehanim - ve skutecnosti to s tim, jakym zpusobem je v 
soucasnosti FreeBSD vyvijeno neni az tak strasne. Ale trend's popsal 
velice presne. A tak hlavni rozdil mezi nami je v tom, ze ja si myslim, 
ze tohle je velice spatny smer a bylo by dobre se vratit k puvodnim 
principum, kdezto ty jsi presvedceny, ze takhle je to nejlepsi a je 
treba timto smerem pokracovat dale.

	No nic, mas pravdu, je cas to utnout. Stejne se nedohodnem.

	Nemluve o tom, ze ja se opravdu narodil hodne davno v minulym stoleti, 
takze ty moderni pozadavky na masove rozsireny OS a nejnovejsi trendy v 
metodach programovani uz patrne opravdu presahuji moje mentalni 
schopnosti ;-)

				Howgh

						Dan



P.S. Jestli jedine metody testovani programu, ktere znas jsou "nahodne 
testovani par studenty" a pak uz jen formalni verifikacni metody, tak 
bys mozna mohl zaskocit na nejakou vhodnou prednasku o programovani. Ve 
skutecnosti ale verim, ze jine metody ve skutecnosti znas a tak ta 
pasaz, kde rikas, ze programy se musi testovat studenty, protoze jine 
metody, ktere znas (a zminujes jen ty formalni), jsou nepouzitelne byla 
ucelova demagogie.




More information about the Users-l mailing list