Blogity blog blog


Quantum bug-o-mechanics

2008-09-29, rtfb

Kai kurias klaidas programose lengva rasti. Jų prigimtis akivaizdi, tad belieka tik rasti vietą kode. Tokias ir pataisyti dažnai lengva.

Kitos klaidos labai sunkiai pasireiškia. Tiesiog kartais neveikia/lūžta. Tokias sunku rasti, bet turint šamanišką nouhau ir kantrybės, viskas padaroma. Paradoksalu, bet tokias klaidas dar dažniau pataisyti lengva. Ištaisai atminties valdymo klaidas ir tiek. Sunku tik rasti.

Bet yra ir įdomesnė klasė klaidų. “There’s definitely something quantum going on”. Klaidos nebuvo. Tada klaida staiga išlenda. Stabiliai. Atkartojama kaip nieko. Bet vos tik užrašai jai bugreport’ą, ji liaujasi egzistavusi. Manoma, kad tokios klaidos turi kvantinę prigimtį, tad joms galioja ir atitinkami dėsniai.

Kad nevarginti smegenų vingių visokiomis Šriodingerio lygtimis, programavimo klaidų tenzorių laukais ir panašia matematine hašišofrenija, supaprastintai galima įsivaizduoti taip: klaida tiesiog yra fiziškai per maža, kad išgalėtų tuo pat metu egzistuoti ir programoje, ir bugreporte. Arba ji yra programoje ir ją galima atkartoti, arba jai yra bugreportas. Bet ne abu.

Manau, sukergus šiuos pastebėjimus su bug-for-bug compatibility (antibug, anyone?), galima pradėti plėtoti pirmą istorijoje visus bugus apimančią teoriją (kaip manot, gal pritiktų ją pavadinti Standartiniu Modeliu?).

 
 
 
7 komentarai:

avatar

quantum entanglement :D

as siulau QBD pavadinima Quantum Bug Dynamics :)

plg. QED ir QCD.


avatar

Iš savo karjeros galiu pastebėti kad egzistuoja tokie bug’ai kurie negali pasirodyti tuo metu kai netoli yra administratorius. Gal yra minčių kaip paaiškinti šį fenomeną?


avatar

Adminas iškreipia erdvėlaikį vien savo buvimu ir problemos prasmenga į skyles tarp matmenų :)
Man šiandien kaip tik pasitaikė toks “bagas” ;)


avatar

Jo jo, čia po liubomu erdvėlaikio iškreipimas, ne kitaip! Priežasčių-pasekmių grandinės tai, aišku, nenutraukia: bugo priežastis vis dar yra “tenai” ir suveikia. Tik bugo pasireiškimas dėl iškrypusio erdvėlaikio nulekia kažkur nežiniur :-)

Man tai dar priminė fliuktuacijas, matuojant bugus makro mastu:

1. Paimi bug’ų sąrašą. Sakykim, ten N bug’ų.
2. Išsirenki vieną, taisai.
3. Pataisai, sukomitinti, pažymi sistemoje, kad bug’as done.
4. Paspaudi bug’ų sąraše F5, o ten, ble, N + 3!
5. Rankos nusvyra, eini rūkyt :-)


avatar

Čia maždaug Visuotinė Bugų Teorija šviečiasi? :-)
O dėl adminų buvimo netoli tai jau seniai viskas paaiškinta, ir netgi turi pavadinimą - komisijos sindromas.
Kai testuotojas rodo, kaip atkartojo bugą programeriui, jis niekada neatsikartoja.

Ir atvirkščiai - kai programuotojas rodo kažką manageriams, būtent tą vietą prieš tai dvi dienas lygiai tokiais pat būdais klibinęs, naudoja tą patį buildą, ant to paties kompo ir t.t. - aišku, kad nuluš. Kitaip tiesiog būt negali.


avatar

rtfb, o jei eiti atvirksiu keliu…

1. turi N bugu;
2. padarai dar viena;
3. ir bugu sarasas N-k? k>0

is to seka idomios isvados:
1. jei bugai anihiliuoja, tai jie turi kruvi;
2. atsikratyti bugu neimanoma. jei nuzudysime visus zudikus, kas nuzudys paskutini zudika? :)

idomu kaip skambetu pareigos “profesionalus bugu generuotojas. k>10”


avatar

Hm, įdomi šio efekto pasekmė yra ta, kad tokį bugą ištaisai jį pareportindamas.


Mano nacis spam-filtras visus laiko botais.
Išspręskite šitą captcha jeigu jūs ne toks:

9 + 3 =