Skal finne flere feil i åpen kildekode

Amerikanske forskere har satt i gang et prosjekt for å samle inn mer informasjon om åpen kildekodeprogramvare som krasjer.

All programvare inneholder feil - feil som ikke er blitt oppdaget av utviklerne fordi det ikke er mulig å teste programvaren for alle eventualiteter før den utgis fordi dette ville ta altfor lang tid. Mange feil oppdages derfor av brukerne fordi de har brukt programvaren på måter og i miljøer den ikke er blitt brukt tidligere.

I de fleste tilfeller har brukerne da muligheten til å varsle utviklerne om at noe har gått galt, men for de fleste vil det være vanskelig å finne ut hvorfor det er gått galt.

I Windows har det lenge vært en funksjon som kalles Dr. Watson, som samler sammen informasjon om miljøet programvare som krasjer opererer i, og sender det til Microsoft etter å ha spurt brukeren om lov. Denne informasjonen skal hjelpe Microsofts utviklere å finne feil i programvaren, slik at framtidige utgaver ikke krasjer av de samme årsakene.

Nå har forskere ved University of California, Berkeley og Stanford University lansert et prosjekt - The Cooperative Bug Isolation Project, som skal gi åpen kildekodeprogramvare en tilsvarende funksjonalitet. Forskerne har publisert egne utgaver at programvare som The GIMP, Evolution og Gaim for Red Hat Linux 9, som sender debuggingsinformasjon til en sentralt server. I tillegg må Linux-brukerne installere programvaren sampler, som utstyrer maskinene med den sentrale funksjonaliteten.

- Vi prøver egentlig å innrullere noen av brukernes "hestekrefter" for virkelig å finne feilen, for å gi utvikleren noe informasjon som vil lede ham mer direkte til feilen, sier Ben Liblit, student ved Berkeley og medlem av prosjektet, til News.com.

Når støtte for sampler-programvaren legges til i et program - noe som gjøres ved å benytte en lett modifisert utgave av programmeringsverktøyet GCC, vil programvaren som blir utviklet være utstyrt med instruksjoner som sampler data mens programmet kjøres. Ifølge Liblit skal det kunne registrere hvilken retning et program tar hver gang det programmet må velge retning.

Det har også vært viktig for prosjektet å sørge for at sampler-programvaren ikke er til for mye hinder for programvaren det overvåker. Ifølge News.com er målet at ytelsen ikke skal reduseres med mer enn fem prosent. For å hindre dette, skal programvare bare samle inn informasjonen en gang i mellom, ved tilfeldige tidspunkter. Det som derimot registreres hver gang, er om programmet ble stengt på en skikkelig måte, eller om det krasjet.

- En som debugger programvaren kan deretter sammenligne to sett med data, de valgene datamaskinen gjorde da programvaren oppførte seg som den skulle, og valgene som ble gjort da den feilet. Selv om de fleste av disse valgene vil være identiske, er håpet at de forskjellene som blir funnet vil hjelpe utviklerne med å finne fram til de delene av programvaren hvor feilen oppstår, sier Liblit.

Utfordringen blir å få brukerne til å adoptere denne funksjonaliteten, siden den er frivillig. I tillegg håper Liblit at også åpen kildekode-prosjektene eller til og med de som står bak Linux-distribusjonene vil lansere programvare-versjoner med denne form for feedback-funksjonalitet.

- Hvis vi kunne få Red Hat til å oppta dette, ville det være fantastisk og utrolig, sier Liblit.

Til toppen