Smatch - egy Stanford Checker klón

Címkék

A "Stanford Checker" (ismert még "MC" néven is) egy olyan project, amelyet egy stanfordi professzor, egy bizonyos Dawson Engler indított; és amelyik egy módosított verziójú gcc fordítót használ arra, hogy potenciális programozási hibákat keressen a C forráskódokban. A Stanford Checker csapat néhányszor postázott már a linux listára (LKML) olyan hibajelentéseket, amelyet az MC készített a linux kernel kódjáról. A legutolsó ilyen jelentés január 2-án látott napvilágot, és számos puffer túlcsordulási hibát fedezett fel a linux kernelben.

A Checker által készített lista elismerést váltott ki a kernel hackerekből, és azóta számos más igazi bugot is ki tudtak szűrni a kódból. Szerencsés lenne, ha a Checker bárki számára elérhető lenne, de sajnos egyelőre ez nincs így. Az MC csapat azt állítja, hogy még nincs kész, és ezért nem adják ki (egyelőre). A kernel fejlesztők jelenleg nem tudnak mit csinálni, mint hogy várnak a következő jelentésre.Dan Carpenter viszont nem volt elég türelmes, mert nekiállt elkészíteni a saját MC-szerű rendszerét. Az eredmény a Smatch lett, amelyet be is jelentett a kernel janitor-ok listáján január 1-én. A Smatch megpróbálja utánozni a Stanford Checker működését, és ezt azoknak a dokumentációknak alapján teszi, amit a MC csapat kiadott. Még elég sok munka van rajta; ahelyett hogy szép jelentést készítene, egy nagy mennyiségű nyers adatot ad vissza, amit perl szkriptekkel kell szűrni. A szkriptek induló verziója már elérhető, de még van mit javítani rajta.

Szóval a Smatch valószínűleg nem fogja kiütni a Stanford Checker-t a pozíciójából egyhamar. De ad egy szabad fejlesztői felületet egy szabadon elérhető ellenőrző eszköz kifejlesztéséhez, amely hasonló képeséégekkel rendelkezik. Kis szerencsével, és némi fejlesztési idő után a Smatch segítségére lehet a kernel fejlesztőknek.

Hozzászólások

MPlayer forrason kellene lefuttatni. Mingya' kiderulne belole, hogy hol van benne b0f. ;-)

Szerintem a GPL programok modositasait nem kotelezo kiadni. Vagy de?

Idezek egy hozzaszolasbol:

"- És egy fontos momentum, ami bár explicite nincs benne a GPL-ben leírva, de a www.gnu.org-on a GPL-es FAQ-ban explicite ki van jelentve: ha egy GPL-es szoftvert te fogsz, módosítasz, és bármilyen célra felhasználsz, de nem árulod, akkor azt teszel vele amit akarsz! Magyarul, a GPL-el is megteheted, hogy fogod a progit, pl. a phpNuke-t te továbbfejleszted, és a használt kódot meg az égvilágon senkinek se mutatod be! Elvégre te nem a programot bocsájtod áruba, hanem amit a program termel, vagyis a weblap tartalmát. Itt hívnám fel a figyelmet arra, hogy a www.gnu.org-on az ilyenekről, egy egész jó kis FAQ olvasható!"

Ezert kerdeztem.

"Does the GPL require that source code of modified versions be posted to the public?"

The GPL does not require you to release your modified version. You are free to make modifications and use them privately, without ever releasing them. This applies to organizations (including companies), too; an organization can make a modified version and use it internally without ever releasing it outside the organization.