Miklós
-7 °C
2 °C

Bugvadászat abszolút hallásúaknak

2002.09.10. 10:17
A számítógépes kódban gyakran bújnak meg nehezen felfedezhető hibák. Egy-egy hosszabb programban a program kódja sok ezer sort tesz ki, és a programozás egyik záró feladata annak végigpróbálása, hogy a szoftver egyes elemei hogyan képesek együttműködni. Brit kutatók zenévé alakították a kódot, és így a programozó hallja a megbicsaklást, vagyis a hibát.
Ezt a munkát úgynevezett debugger (hibakereső, tesztelő) szoftverekkel is el lehet végezni, miközben a felhasználó a program grafikai megjelenítését figyeli. Ez úgy segíti a hibakeresést, hogy láthatóvá teszi, a program mely részei kommunikálnak egymással.

A debug folyamán a számítógép audio rendszerének képességeit eddig nem vették figyelembe. "Ott hagynak egy teljesen kihasználatlan csatornát, míg vagyonokat költenek a vizuális megjelenítés egyre kifinomultabb formáira" - mondta a New Scientistnek Paul Vickers, a Northumbria egyetem kutatója.

Kollégájával, a Loughborough egyetemen dolgozó James Alty-val közösen Vickers kifejlesztett egy rendszert, amely automatikusan egyszerű zenévé konvertálja a Pascal programnyelven írt számítógépes kódot.

Stephen Brewster szerint, aki a Glasgow egyetemen programozás-elméletre specializálódott, a zene valóban segíthet a programozóknak ellenőrizni a kódot. "Az emberi fül igen alkalmas a rövid jelsorozatok felfogására, ebben néha még a szemnél is hatékonyabb" - mondta Brewster.

Hamis hangzás

Vickers és Alty bizonyos zenei frázisokat kötött különböző Pascal nyelven írt konstrukciókhoz, például a feltételes parancsokhoz és a visszacsatolásokhoz (loop). Így egy szintetikus hangjegy jelenti például az "IF TRUE" (ha igaz) feltételt. A korábbi pontra visszatérő hurkot pedig emelkedő hang kíséri.

Ha a kód különböző szakaszait összeépítik, kellemes hangzású jelsort kell képezniük. De ha egy loopot nem sikerül tökéletesen végrehajtani, a zene nem emelkedik megfelelően, és a programozó hallja a megbicsaklást, vagyis a hibát. Ehhez hasonlóan egy hibás feltételes parancs is hamisan cseng, és azonnal elárulja magát.

Vickers a rendszert a Loughborough egyetem 22 programozó hallgatójának bevonásával tesztelte. A feladatuk az volt, hogy hibákat keressenek egy döcögve működő programban a kód lapozgatásával. De a tesztszemélyek közül néhány ezzel egy időben hallotta is a program zenei változatát.

Van benne valami

Nagy átlagban több hibát találtak azok, akik hallották is a kódot. "Elég nagy volt ahhoz a két csoport teljesítménye közti különbség, hogy megérje tovább foglalkozni ezzel a módszerrel" - jelentette ki Vickers. A megvizsgált kis csoportnál viszont az nem derült ki, hogy az eredmények alakulásában mennyi múlott a programozási képességeken, és mennyi a zenei halláson. Ennek feltérképezésére a kutató további teszteket tervez.

A számítógépes programozás pszichológiája szakértőjének számító cambridge-i Alan Blackwell szerint a program kódjának hallhatóvá tétele segítheti a probléma megoldási képesség egyes formáit. De szerinte teszteket kell végezni még annak vizsgálatára, hogy ez valóban jobb eredménnyel jár, mint a más típusú megjelenítések.

Stephen Brewster eközben azt reméli, hogy a jövőben kifejlesztendő szoftverfejlesztő eszközök rendelkeznek majd egyszerű hangképző funkciókkal. Véleménye szerint "rengeteg érdekes dolgot kideríthetnének a programozók a saját munkájukról, ha az eredményt nem csak látják, de hallhatják is."