• kvp
    #3
    Errol eszembe jut az onjavito do what i mean shell annekdotaja a berkley-s professzorral. Eppen elkeszult a munkajaval es miutan mentett a vegen jo szokasa szerint megprobalta letorolni a biztonsagi menteseket (rm *~). Csakhogy ha nincs elozo peldany, azaz uj file-rol van szo, akkor nincs biztonsagi mentes sem. Az "okos" shell pedig kijavitotta a hibas parancsot rm *-ra, ami mindent torolt az aktualis konyvtarbol. A tortenet szerint miutan az egy hettel korabbi szallagrol visszaallitottak neki amit csak lehetett a prof betiltotta az ilyen jellegu fejleszteseket a hazon belul keszitett bsd unix eseteben. Azota eltelt tobb evtized, de ugylatszik vannak akik tovabbra is hisznek benne, hogy egy szoftver jobban tudja, hogy mit is akart a programozo.

    Tipikus pelda, hogy van egy elgepeles, pl. if(!valami) helyett if(4valami) -t ir a kodolo (lemaradt egy shift). A helyes valtozonev termeszetesen a valami, tehat a rendszer kijavitja a kodot if(valami) -re. Ez mar fordul es fut, viszont pont az ellenkezojet csinalja mint amit kellene. Es ez csak egy trivialis pelda, amit konnyu atlatni.

    Egy forraskod ellenorzesekor a forraskod magaban nem eleg, a pontos algoritmus specifikacioja is kell. Ha meg az megvan (tankonyvi eseteket leszamitva szinte soha nincs meg), akkor a forraskod mar amugy is generalhato (lenne).