You are on page 1of 4

Sortera inte. Sk!

En enorm informationsvg skljer dagligen ver varenda ingenjr p fretag som Sony Ericsson och SAAB. Bristen p verblick innebr ett hrt slag mot produktiviteten. Om fyra timmar ska Eriks team leverera programkoden som ser till att filsystemet i projektorn fungerar. Han r en av 5000 ingenjrer i ett internationellt fretag som utvecklar konsumentelektronik. Utan hans insats kan inte det amerikanska kontoret genomfra de sluttester som planerats i natt svensk tid. Pltsligt kommer ett mail, en bugg har rapporterats av en utvecklare i Indien. Filsystemet blir korrupt om man kopplar ihop projektorn med en iPhone via bltand... Nu brinner det i knutarna, ngonstans har Eriks team missat ngonting. Erik drar igng med felskningen och lokaliserar snabbt en rad i programkoden som gr en felaktig jmfrelse. En enkel rttning kan gras hr,

men hur pverkas resten av systemet? Kommer bltand med mobiler frn andra tillverkare att fungera? Kommer fortfarande hela minnesutrymmet anvndas effektivt? Blir uppstarten av projektorn lngsammare? Har vi specificerat ngot av detta i ngon kravspecifikation? Finns det beroenden mot redan rttade buggar? Vilka tester mste vi kra p nytt? Tre timmar till deadline. Erik svettas. Situationen r lngt ifrn otnkbar. Allt mer i vr omgivning kontrolleras av ngot som varken gr att ta p eller se. Mjukvara finns stndigt i allas nrhet, som inneboende sjlar i allt frn kylskp till hrapparater. Att utveckla mjukvara r en komplex process, som att lgga ett pussel dr bitarna stndigt ndrar form. Trots att mjukvara har den fantastiska egenskapen att inte drabbas av slitage mste den underhllas. Pltsligt kan det dyka upp nya nskeml frn anvndare, ny hrdvara, frndrade standarder fr kommunikation eller bestmmelser frn myndigheter.

Knslan av frustration har drabbat de flesta som letar efter information. Detta studeras inom omrdet informationstkomst. Vr dagliga relation till Google har skruvat upp vra frvntningar p tillgnglighet av information inom olika omrden, inte minst p jobbet. Mste framtidens ingenjrer gissa sig till hur vra gamla system fungerar eller tvingas de grva bland digitala hyllmeter frldrad dokumentation? Givetvis mste ven programmerare bedriva hllbar utveckling. Sortera eller ska? En allt strre del av vrt arbete bestr av att hantera information. Att snabbt f tillgng till den information vi behver r ett skert stt att effektivisera vra arbetsdagar. I kunskapssamhllet kmpar mnga med att strukturera sin information. Detta underlttar vrt arbete, men i takt med att strmmen av information kar exploderar den insats som krvs fr att hlla ordning. Som en motkraft har skmotorernas annorlunda frhllningsstt till informationshantering vuxit fram. Deras devis lyder: Sortera inte. Sk. Kan man inspireras av detta angreppsstt fr att effektivisera dagens projektdrivna industri? Spra ktt, spra kod Att ha frstelse fr hur projektdokumentation hnger samman kan leda till en rad frdelar, exempelvis vid felskning och

frndringshantering. Inom skerhetskritisk utveckling r dessutom underhllandet av s.k. sprbarhet ett uttalat processkrav. Att lansera flygplan eller styrsystem till krnkraftverk utan denna information r otnkbart, fast ven i andra typer av projekt r automatisk sprbarhet ett tacksamt tillskott. Sprbarhet inom utvecklingsprojekt liknar den sprbarhet som krvs av livsmedelsindustrin. Ett kttstycke i charkdisken ska kunna spras till land, grd och djur. Sjukdomar och medicinering ska kunna hittas. P samma vis behver man kunna spra varje del av programkoden fr att pvisa varfr den finns, vilket krav som berttigar dess existens, vilka tester som har gjorts, eventuella defekter som har rapporterats och korrigeringar som har utfrts. Eftersom sprbarheten vanligtvis underhlls manuellt leder det till mycket tidsdande arbete. Dessutom blir det ltt fel eftersom saker frndras. Ofta lter man drfr bli att underhlla sprbarheten om man inte tvingas av skerhetsbestmmelser. Under en vanlig arbetsdag behver en ingenjr flera gnger ta reda p hur olika delar hnger ihop. Om spr-

Faktaruta 1: Varfr kan man inte bara Googla? Moderna skmotorer anvnder sig delvis av textjmfrelser (se Faktaruta 2). P 90-talet introducerade Google en avgrande skillnad med ett berknat viktighetsbetyg, sk. PageRank. P webben skapar mnniskor lnkar, vilket bildar ett ntverk. Ju fler webbsidor som lnkar till ngot, desto viktigare anser Google sidan vara. Denna strategi, i kombination med tillgng till enorma mngder information, har gett en revolutionerande bra grund fr att sortera skresultat. Att trffskert bedma hur viktiga olika webbsidor r, tillsammans med genomtnkt annonsfrsljning, har lett till ett av historiens mest lnsamma fretag.

Faktaruta 2: Textuella jmfrelser i datorn

barheten d saknas tvingas han frga sina kollegor eller navigera i olika databaser, ofta med begrnsade skfunktioner. Forskning inom informationsskning strvar efter att hjlpa honom genom att erbjuda s kallad sprbarhet on-demand. En letande dator Informationsskning har varit ett aktivt forskningsomrde sedan 60-talet. Att anvnda datorer fr att underltta skningar blev viktigt s fort information brjade digitaliseras. De frsta sksystemen var enkla. De anvnde sig enbart av matchning av teckenstrngar. Skte man p styrsystem s fick man resultat dr just den exakta skstrngen frekom. Dokument betraktades som antingen relevanta eller irrelevanta till en given skning, utan ngon grzon. I mnga fall rckte detta lngt. Senare modeller fr informationsskning introducerade graderad relevans, vilket gjorde det mjligt att ranka skresultat och frenklade inmatningen av skstrngar. Vektorrymdsmodellen (se Faktaruta 2) utvecklades och mjliggjorde textuella jmfrelser i datorn. Denna modell har varit standardhanteringen fr jmfrelser av text sedan 70-talet. I vissa situationer kan man frbttra jmfrelserna genom att lta datorn upptcka underliggande mnster i texterna. P 90-talet utvecklades tekniken latent semantisk indexering (se Faktaruta 3), med syfte att upptcka konceptuella betydelser i text. Med denna teknik blev det mjligt fr datorn att avgra att en text om leoparder och sjlejon bda handlar om djur, ven om inga ord frekommer gemensamt i bda texterna. Och sprbarheten d? Vi tergr till ingenjren Erik. Forskare vill hjlpa honom att snabbt hitta relaterade dokument medan han arbetar. Genom att

Det vanligaste sttet att jmfra text i datorn r att uttrycka den i vektorer. P samma stt kan man jmfra filmer. Antag att tre filmer delas upp i korta delar. Lt sedan varje del klassificeras som antingen spnning, humor eller romantik.

Genom att rkna hur mnga som finns av varje sort kan filmerna ritas upp i tre dimensioner.

Nu kan filmerna jmfras med varandra. Ju mindre vinkel, desto mer lika r filmerna. Vinkel a r mindre n vinkel b, vilket innebr Goldfinger har mer gemensamt med Gudfadern n Pretty woman. Samma princip anvnds fr text. Varje ord representeras d av en dimension. Tekniken r tillrckligt bra i mnga fall, trots att ingen hnsyn tas till struktur eller relationer, varken mellan ord eller dokument.

gra jmfrelser mellan dokument, antingen p ordniv eller konceptuell niv, kan han f en verblick ver hur all information i projektet hnger ihop. Detta mjliggr sprbarhetsterhmtning, tekniken att terskapa den sprbarhet som har frsvunnit eller eventuellt aldrig funnits. Datorverktyg som frstr hur kravspecifikationer, programkod, manualer och annan dokumentation hnger ihop kan underltta flera uppgifter under Eriks

Faktaruta 3: Maskinell lsning mellan raderna Eftersom antalet dimensioner snabbt blir stort vid textuella jmfrelser av text vill man minska dessa fr att frbttra prestanda vid berkningarna. Principen som anvnds r densamma som nr vi reducerar vr tredimensionella omvrld till en tvdimensionell karta. En fljd av denna process leder dessutom till att dimensionerna fr nya betydelser. Detta anvnds vid latent semantisk analys och innebr att brus som synonymer till viss del kan hanteras. Filmerna Gudfadern, Goldfinger och Pretty woman placeras p nytt i det tredimensionella rummet. Genom att projicera filmerna p ett plan i rummet kan vi jmfra filmerna i tv nya dimensioner.

De nya dimensionerna innebr nu nya s kallade koncept, vilka bestr av ursprungsdimensionerna. Planets lutning gav i detta fall dimensionerna actionkomedi och romantisk komedi. Vi ser att a r ett kortare avstnd n b, allts r Goldfinger nrmare Gudfadern. Fr att hitta de bsta mjliga nya dimensionerna, dvs. planets lutning, grs en singulrvrdesuppdelning av filmernas tredimensionella representation.

arbetsdag. Han skulle enkelt kunna veta om det finns beroenden mellan projektorns krav p bltandskommunikation och dess filsystem. Han skulle kunna se vilken sida i manualen som behver uppdateras om han frndrar hur bltand konfigureras. Slutligen skulle han kunna f reda p vilka tester som behver kras av testavdelningen i USA fr att skerstlla att allt fungerar som det var tnkt. Forskarnas frhoppning r att underltta Eriks vardag s mycket genom sktekniker att utvecklingen av framtidens programkod blir effektivare och smidigare n vad den r idag. Dessutom hoppas man kunna hjlpa framtidens ingenjrer, de som ska underhlla dagens system, att navigera i den rra som vi lmnar efter oss. Programvaruutvecklings-

industrin kommer att fortstta omstta enorma summor och varje liten frbttring som kan gras har potential att spara stora summor pengar pengar som kan anvndas fr att utveckla sjlar i fler apparater i vr vardag! Markus Borg, Doktorand i Programvarusystem Institutionen fr Datavetenskap Lunds Universitet markus.borg@cs.lth.se cs.lth.se/markus_borg

You might also like