Et virksomhedsbesøg på Malta

I dag besøgte jeg sammen med Adrian Francalanza, der er professor på University of Malta og som jeg samarbejder med, softwareudviklingsfirmaet Ixaris for at fortælle om igangværende arbejde om typesystemer for Java, som jeg er involveret i. Trods min igangværende bronkitis (der har fået det lidt bedre, måske også ansporet af det gode Middelhavsvejr med temperaturer på 21°C) fik jeg holdt et nogenlunde sammenhængende kort foredrag om det, jeg og andre lige nu har fundet ud af, ikke mindst hvad der er kommet ud af kandidatprojekter om dette emne.

Diskussionen, der fulgte, var også interessant for mig. Det var interessant at få et indblik i hvordan softwareudviklere på Malta griber deres arbejde an og hvilke problemstillinger, de bøvler med. De fremhævede det omfattende arbejde med tests og med at prøve at tage højde for alle fejlsituationer. Det er faktisk fra ord til andet de samme ting, som softwareudviklere i Danmark (og dermed sikkert også andre steder) slås med.

Ordstyring – og vasketøj

Af og til ved konferencer og workshops er jeg ordstyrer, eller session chair, som det hedder. En af disse lejligheder var i dag på den sidste dag af ICISSP2020. Organisatorerne havde skrevet og spurgt, om jeg mon ville være ordstyrer, og det sagde jeg ja til.

Når man er session chair, skal man introducere dem, der præsenterer, og holde øje med om de overholder tiden. Jeg fik udleveret en lille pakke med de tre artikler, der skulle præsenteres, biografier for de tre deltagere, der skulle fremlægge og to ark papir med henholdsvis teksten 5 minutes og Conclusions. Så er det bare at holde øje med tiden og række skiltene op, henholdsvis når der er 5 minutter tilbage af tiden og når der skal rundes af. Helst skal man også have et spørgsmål parat, hvis der nu ikke kommer spørgsmål fra salen. En lidt mere mærkelig tradition, som findes ved nogle konferencer, er at man som session chair skal bedømme kvaliteten af fremlæggelser.

Det gik som det skulle – det var tre meget forskellige fremlæggelser af meget forskelligt stof. Det var interessant alt sammen, men i det foredrag, der handlede om et angreb på en whitebox encryption-algoritme med maskering, måtte jeg indrømme at jeg på et tidspunkt ikke kunne følge med længere. Jeg har engang været med til at holde et PhD-kursus om kryptering, men jeg indså hurtigt, at dette var noget mere videregående og specialiseret. Alle tre deltagere fik en pæn bedømmelse; de havde gjort sig umage og var bestemt også værd at høre på. Bagefter gav jeg de tre hver deres diplom som bevis på at de havde været til stede og fremlagt. Selv fik jeg faktisk også et diplom, fordi jeg havde været session chair. Hvad jeg så skal bruge det til, ved jeg ikke, men det ser da pænt ud.

Efter frokostpausen gik jeg tilbage til mit værelse, proppede alt mit vasketøj i to indkøbsposer og tog hen på et møntvaskeri godt gemt af vejen i en af Vallettas stejle gader for at tage mig af den meget prosaiske syssel, det er at vaske tøj. Efter vel overstået gerning tog jeg poserne med det rene tøj med tilbage til konferencen og lyttede til det afsluttende indbudte foredrag – det handlede om de to store trylleord i vore dage, nemlig blockchain og Internet of Things. De to trylleord kan man nemlig åbenbart altid sige mere om.

Og det blev min tur

I går aftes var der middag for alle konferencedeltagere i Mdina lidt uden for Valletta. Det eneste, jeg og andre savnede lidt, var muligheden for at gå en lille tur rundt i Mdinas bykerne i stedet for bare at blive placeret ved bordene i restauranten. Jeg endte med at snakke med en deltager fra USA, der oprindelig er fra Pakistan, men også havde tilbragt 12 år i Sydkorea. I den akademiske verden er der mange mennesker, der på denne måde er på gennemrejse.

I dag var det tid for min egen fremlæggelse til ICISSP2020. I kan se mine slides herunder, hvis I er interesseret. Bidraget handler om en analyse af protokollerne i det betalingsnetværk, der hedder Lightning Network og kan anvendes sammen med blockchain-løsninger. Analysen viser, at der en sikkerhedsfejl i en af protokollerne; det er interessant og selvfølgelig også lidt ærgerligt.

Inden jeg selv skulle på, var der et et indbudt foredrag med Stefan Schmid, der er professor på Universität Wien. Men for nogle få år siden var Stefan faktisk ansat samme sted som der, hvor jeg er nu, så foredraget var også et gensyn. Vi hilste da også på hinanden bagefter, og Stefan inviterede mig til at kigge forbi instituttet, hvor han arbejder nu, når jeg besøger Wien.

Mit foredrag gik vel som det skulle; der var ikke nogen spørgsmål bagefter, men jeg er ikke sikker på, om det var et godt eller et dårligt tegn. Ordstyreren kom med en interessant kommentar bagefter, så der var mindst én, der havde forstået mit hovedbudskab.

Bagefter var der endnu af de poster-sessions, man ser så ofte, og som kan give et mere uformelt indblik i ny og igangværende forskning. ICISSP bliver holdt sammen med nogle andre datalogikonferencer om bl.a. sundhedsteknologi, så der var postere om lidt af hvert.

En stor ære

Mens jeg er i Malta, har jeg fået at vide, at jeg er blandt modtagerne af den såkaldte Test of Time Award, som uddeles ved konferencen CONCUR2020 i Wien til august. Prisen gives til artikler fra CONCUR-konferenceserien (en vigtig konference inden for teoretisk datalogi), der har rummet vigtige videnskabelige bidrag og har vist sig at “holde længe” (eller hvordan man bedst oversætter det engelske begreb “stand the test of time”).

Det er en virkelig stor ære for mig. Artiklen, Bisimulation Equivalence is Decidable for all Context-Free Processes, blev publiceret i 1992. Den er resultatet af et samarbejde med Søren Christensen og Colin Stirling, der var vejleder for både Søren og mig, da vi begge var PhD-studerende i Edinburgh.

Komiteens officielle begrundelse, som kan læses på CONCUR2020s hjemmeside, er denne:

The paper “Bisimulation Equivalence is Decidable for all Context-Free Processes”, published by Søren Christensen, Hans Hüttel and Colin Stirling at CONCUR 1992, receives one award for extending and simplifying the seminal result by Baeten, Bergstra and Klop, who proved the decidability of bisimilarity over normed context-free processes. The CONCUR’92 paper has paved the way to further decidability and complexity results for a variety of classes of infinite-state processes. This includes the 2-EXPTIME algorithm for bisimilarity over BPA presented by Burkart, Caucal and Steffen in a paper published at MFCS 1995, and the work by Senizergues in papers at FOCS 1998 and in the SIAM Journal on Computing in 2005, presenting decidability results for all “equational graphs” with finite out-degree.

Artiklens store resultat er et bevis for et åbent problem om afgørbarhed, jeg jagtede et svar på i mit PhD-arbejde, men ikke nåede at finde, inden min afhandling skulle afleveres. Men året efter, og ikke mindst takket være en vigtig indsigt fra Søren i form af et lemma om endelig karakterisation af vidner for ækvivalens, lykkedes det. Resultatene i vores artikel kom med i Sørens gode og velskrevne afhandling.

Han og jeg delte i et års tid lejlighed, men efter tiden i Edinburgh mistede vi desværre kontakten. Søren fik arbejde i en virksomhed, og jeg blev som bekendt universitetslærer. Nu har vi fået kontakt igen som resultat af denne hædersbevisning.

Da vi skrev artiklen, var Søren og jeg 28 år gamle. Nu er vi 56; der er gået et halvt liv. Lige før jul fik jeg at vide af Julian Bradfield, der også var en af Colins gamle PhD-studerende og siden blev i Edinburgh, at Colin nu går på pension. Forhåbentlig ser jeg dem begge igen i Wien ved prisoverrækkelsen – det ville glæde mig rigtig meget.

Aalborg–Valletta, dag 1: Jeg ender i Basel

Sidste år fik jeg antaget en artikel til konferencen ICISSP2020, som er en datalogikonference om metoder til analyse af sikkerhed af software. ICISSP2020 finder sted i Valletta på Malta i den kommende uge.

Artiklen var baseret på et speciale af Vilim Staroveski fra Zagreb; ham havde jeg vejledt i det meget travle forår 2019. Vilim var sidenhen vendt hjem til Kroatien for at lede efter arbejde, så nu var det mig, der skulle af sted. Heldigvis havde jeg midler til at deltage i konferencen, for som del af et EU-projekt havde jeg lovet at besøge en virksomhed på Malta i løbet af 2020. Løsningen blev derfor at kombinere de to gøremål (og rejsemål).

I morges begav jeg mig ud på hvad der formodentlig er min hidtil længste togrejse i dette årtusinde, nemlig rejsen fra Aalborg til Valletta. Dvs. Malta er jo en ø, men man kan komme med tog helt til Pozzallo i det allersydligste Italien (på sydspidsen af Sicilien) og sejle derfra til Valletta. Min plan var at rejse via Hamburg og Basel til Lugano (i den italienske del af Schweiz), overnatte dér og næste morgen rejse ned gennem Italien til Siracusa, overnatte dér og tage det tidlige morgentog til Pozzallo.

Det startede så pænt; DSB kørte til tiden og jeg kom et helt minut for tidligt til Hamburg. Undervejs kunne jeg ikke undgå at bemærke de mange oversvømmede marker i Jylland og i Nordtyskland.

Men derefter kom problemet. ICE-toget fra Hamburg var 10 minutter forsinket ved afgang på grund af signalproblemer ved Hamburg Altona, og på grund af endnu signalfejl uden for Lüneburg voksede forsinkelsen til 35 minutter. Jeg måtte indse, at jeg ikke kunne nå min forbindelse videre fra Basel til Lugano – der var nemlig kun 10 minutter til togskiftet på Basel SBB. Og fordi dette kritiske skift glippede, kollapsede hele resten af min rejseplan.

Ironisk nok havde jeg stor nytte af DBs køreplansportal http://bahn.de, for her kunne jeg nu planlægge en ny udgave af min rejse ned gennem Italien. Mit første bud var en tur via Milano og Napoli med nattog til Siracusa og derfra videre til Pozzallo, hvor jeg så skulle tage aftenfærgen til Valletta. Men derefter gik det op for mig, at jeg i stedet kunne tage det tidlige morgentog fra Basel til Milano og så bruge hele søndagen på at rejse ned gennem Italien alligevel og ende i Catania, der ligger lidt nord for Siracusa. Herfra går der nemlig en opsamlingsbus beregnet på dem, der skal med morgen færgen til Malta. På den måde ville jeg, hvis alt ellers kunne gå vel, nå til Valletta alligevel mandag morgen.

Nu var der kun tilbage at besøge http://interrail.eu og lave nye pladsreservationer fra Basel SBB til og med Villa San Giovanni, hvorfra jeg så skal videre uden reservation til Catania. Og så skulle jeg også lige have fundet billige hotelværelser i Basel og Catania. Begge dele lykkedes. I skrivende stund sidder jeg stadig i det forsinkede tog og har enormt god tid. Jeg skal jo bare til Basel i aften.

Det blev ikke den rejsedag, jeg havde forudset, men min erfaring som togrejsende i Europa begynder nu at komme mig til gavn.

Min første datalogibog

I dag kom jeg til at snakke med nogen om lærebøger om algoritmer og datastrukturer, der er et af de helt grundlæggende fag på datalogiuddannelser. En udbredt lærebog om dette emne er i vore dage blevet Introduction to Algorithms af Cormen, Leiserson, Rivest og Stein. Det er en grundig og præcis bog, der også tager videregående emner op, men den er også på nogle måder ved at blive en encyklopædi. Den udgave, jeg selv ejer, er en mursten på 1180 sider.

Selv blev jeg introduceret til algoritmer og datastrukturer af en bog på sølle 427 sider, Data Structures and Algorithms af Aho, Hopcroft og Ullman. Jeg kom dengang lige fra matematikstudiet og syntes, at denne bog var en “underlig matematikbog”. I dag har jeg en noget mere positiv opfattelse af den – og den er rar at slå op i. Men om denne klassiker ville være en god introduktion i dag, ved jeg ikke.

Engang var mange lærebøger kortfattede; jeg mindes Principles of Mathematical Analysis af Walter Rudin, den første kortfattede bog, jeg stødte på. Der var et hav af mellem-ræsonnementer, som læseren selv skulle opdage, og det kunne sagtens tage en time eller mere at læse en side. Som lærebog betragtet var Rudins bog noget af en mundfuld. Til gengæld var mange af mine medstuderende glade for A First Course in Abstract Algebra af John B. Fraleigh. Den var (selvfølgelig) helt stringent, men noget mere “snakkende” end Principles of Mathematical Analysis. I dag er jeg lidt mere forbeholden over for den og noget mere positiv over for Rudins bog.

En datalogibog, der virkelig delte vandene i min studietid, var Introduction to Automata Theory, Languages and Computation fra 1979 af Hopcroft og Ullman. Bogen var forholdsvis kortfattet, men nåede meget langt omkring inden for automatteori, beregnelighed og kompleksitetsteori. En senere udgave havde Motwani som medforfatter og var meget mere “snakkende” og havde skåret en del stof væk. De fleste foretrækker at henvise til 1979-udgaven, og sådan har jeg det også.

Alt dette tyder på, at man i virkeligheden har brug for to forskellige fremstillinger af det grundlæggende stof – en indledende, der er grundigt forklarende og er målrettet begyndere, og en fremstilling beregnet på den erfarne fagperson, der har brug for et godt opslagsværk. Men der er samtidig ikke nogen grund til at den indledende fremstilling skal være så lang, som indledende fremstillinger ofte har en tendens til at være.

Softwarefejl koster menneskeliv

Detalje fra Boing 737 MAX-fly.

Fly af typen Boeing 737 MAX har siden marts 2019 haft flyveforbud efter to styrt, der har kostet i alt 346 mennesker livet. Problemerne skyldes fejl i et system, der skal forhindre, at flyet staller. Boeing har siden opdaget endnu et problem med softwaren i den ulykkesramte flytype 737 MAX. Det nye problem vedrører angiveligt den software, der skal sikre, at visse overvågningsskærme fungerer korrekt.

Jeg har det meget blandet med at læse den slags nyheder. På den ene side er det meget sørgelige nyheder – mange mennesker er døde under tragiske omstændigheder.  På den anden side er dette en problemstilling inden for et område, der har interesseret mig i mange år, netop på grund af min faglighed inden for datalogi. De ulykkelige hændelser med Boeing-flyene viser endnu engang hvor voldsomme konsekvenserne kan være af fejl i software, og det bør føre til forøget opmærksomhed på de alvorlige konsekvenser, som manglende korrekthed af software vil have i en verden, hvor flere og flere processer er styret af computere – og nødvendigvis må være det, for moderne transportmidler er komplicerede apparater. Uden at vi ønskede det har vi fået endnu et aktuelt argument for at beskæftige os med nogle bestemte videnskabelige problemstillinger.

En defensiv kultur i datalogi

Foto: https://www.flickr.com/photos/jeffeaton/7436909698

Mark Guzdial, der forsker i datalogiens didaktik, har nogle interessante kommentarer om det typiske studiemiljø i datalogi. En artikel fra 2002 af Lecia Jane Barker, Kathy Garvin-Doxas og Michele Jackson fra University of Colorado dokumenterer en meget defensiv kommunikationskultur, der er fremherskende på datalogiuddannelsen ved det pågældende universitet. Guzdial spekulerer på, hvor meget forskning der siden er fundet sted for at afdække hele denne kultur og konkluderer, at der desværre ikke er ret mange senere forskningsresultater her. Det er trist, for hvis der er tale om et generelt fænomen, er det bekymrende.

Defensiv kommunikation er en adfærd i kommunikation, hvor den enkelte reagerer defensivt på kommentarer om noget, personen selv opfatter som fejl eller som et angreb fra andre. Om der reelt var tale om en fejl eller om et angreb, kan være underordnet. Sammen med denne konstante forsvarsposition hører også en modsatrettet adfærd, hvor det går ud på at hævde sig, og hvor empati kan have trange kår.

Tilbage i 2013 skrev jeg om fænomenet at “strutte”, hvor studerende hævder sig ved at stille spørgsmål, der i virkeligheden skal vise, hvor meget de selv ved. Strutteriet bliver af nogle uddannelsesforskere fremhævet som en mulig årsag til at kvindelige studerende kan føle sig mindreværdige eller uvelkomne på datalogiuddannelser – og det er typisk for en defensiv kommunikationskultur.

Jeg har ikke noget godt billede af, præcis hvordan det står til i en tilsvarende dansk kontekst. Men de reaktioner, jeg fik, i 2013, tyder på at strutter også er udbredt herhjemme. Og jeg ved selv, at jeg temmelig ofte reagerer defensivt. Hvis jeg får f.eks kommentarer til fejl i undervisningsmateriale, jeg har udarbejdet, beklager jeg altid fejlen. Det virker langt mere ærligt end at gå til modangreb (som nogle måske ville gøre), men samtidig er man med til at vedligeholde en kultur om fejlenes alvor i sig selv. For i datalogi fokuserer vi tit på de små fejl. Nogle gange betyder de meget – et forkert tegn i et program kan give anledning til køretidsfejl og et forkert symbol i et matematisk ræsonnement kan gøre det ugyldigt. Men andre gange betyder de små fejl ikke meget.

Jeg ved også godt, hvordan adfærden i forskningsmiljøer i datalogi kan være. I den stadigt mere konkurrenceprægede kultur her mærker man tydeligt, at der er en defensiv kommunikationskultur. I en verden, hvor man stadigt oftere taler om eliten og om at være verdensførende, og hvor den enkelte skal hævde sig, trives denne kultur stadig.

Hvordan en defensiv kommunikationskultur i datalogi spiller sammen med uddannelser, hvor gruppearbejde er centralt (som f.eks. på Roskilde Universitet) ved jeg ikke.

For en sikkerheds skyld: Jeg tror ikke, at det defensive miljø som sådan kun findes inden for datalogi. I alle sammenhænge, hvor konkurrence reelt overtrumfer læring, kan der være en defensiv kommunikationskultur. Og med en karakterskala, der er mangelbaseret, er det næppe en kultur, vi får til at forsvinde.

Kun én artikel om året?

Tasawar Hayat – vor tids største matematiker? Han er i al fald den mest publicerende.

I går fik jeg besked om at jeg har fået en artikel optaget til en konference, der finder sted i februar 2020, så næste års publikationsrunde er allerede i gang. Artiklen dokumenterer resultater, som stammer fra et speciale som jeg vejledte i foråret. Men én artikel er ikke meget, og de sølle fire artikler, jeg fik publiceret sidste år, er bestemt heller ikke noget imponerende antal.

I den akademiske verden er det vigtigt at publicere så meget som muligt i så gode tidsskrifter og ved så gode konferencer som overhovedet muligt. Den mest publicerende forsker i årene fra 2016 til 2018 er Tasawar Hayat, der er professer i matematik ved Quaid-i-Azam University i Pakistan. Han publicerede hele 996 artikler i den periode, dvs. næsten én publikation om dagen. Så vidt jeg kan se, er en stor del af hans forskningsområde inden for matematisk fysik i den mest anvendelsesorienterede ende og har berøringsflader til maskinintelligens. Lødigheden af Hayats bidrag tør jeg ikke udtale mig om. Men det er forbløffende med denne ekstreme publikationsfrekvens; mange matematikere inden for den rene matematik publicerer kun 1-2 artikler om året.

Den tyske kognitionsforsker Uta Frith, der er professor med University College London, har en lidt anden tilgang. I en helt ny artikel i tidsskriftet Trends in Cognitive Sciences anbefaler hun faktisk, at det bliver et krav, at man kun publicerer én artikel om året. Hun skriver endda

When I look at my CV, I see papers that I wish I had not published, because they are either not sufficiently original or methodologically robust. I think it is important to tell younger researchers about this regret and make them aware that in time they might feel similarly. There are plenty of examples to show that a scientist’s reputation in the long run will be built on their best publications and lessened or even undermined by their weaker ones.

(fra Frith, Fast Lane to Slow Science, Trends in Cognitive Sciences (2019), https://doi.org/10.1016/j.tics.2019.10.007)

Det er en betragtning, jeg deler. Som Frith nævner, er det i virkeligheden et spørgsmål om at have et godt ry som forsker, der er det væsentlige, og om at kvalitet ikke nemt lader sig “fortynde”. Mange konferencerækker i datalogi har nu indstiftet en Test of Time Award, som bliver givet til 10 år gamle publikationer fra samme konference, der senere har vist sig at være særligt indflydelsesrige. Og når jeg ser på prisvinderne fra den lille del af datalogi, som jeg selv beskæftiger mig med, er jeg helt enig med udnævnelserne. Problemet er selvfølgelig, at dette gode ry på længere sigt ikke kan måles med det kortsigtede her-og-nu-fokus, som man i være dage bruger for at måle forskningens kvalitet, men i virkeligheden i mindst lige så stort omfang måler dens kvantitet.

Et “fysisk Internet”?

Kilde https://www.flash.global/en/blog/physical-internet-logistics/

Som en trafikforsker fastslår i dagbladet Information, er det egentlig helt absurd, at man bruger en maskine, der vejer en ton eller mere (nemlig en personbil) til at transportere ét menneske, der vejer 80 kilo eller mindre. Det er også barokt (og ineffektivt og dårligt for miljøet) at en del lastbiler kører tomme tilbage efter at varer er blevet leveret, og at der masser af personbiler på vejene med plads til mange personer, men kun med én person i bilen – nemlig bilisten selv.

Det er naturligt at spørge, om der er andre måder at transportere fysiske genstande (og måske også mennesker) på. Man taler nu om “det fysiske Internet”. Ideen er oplagt – at anvende den indsigt, der er om routing (udtalt på fransk!) i internet-sammenhænge til at optimere også transport af fysiske objekter. På Internettet transmitterer man data ved at dele op i pakker, der sendes separat og først mødes og samles igen til sidst. Ikke alle data passerer nødvendigvis de samme servere undervejs.

Ideen skyldes den fransk-canadiske trafikforsker Benoit Montreuil. Jeg ved ikke, hvordan dette kan være undgået min opmærksomhed, men bliver samtidig mindet om nogle studenterprojekter, jeg vejledte, hvor fokus var på at bruge proceskalkyler til at beskrive flytrafik (!). Det er et spændende eksempel på tværfaglighed – og også på at analogien har sine grænser. Et eksempel: I Internetprotokoller taler man om gentransmission i tilfælde af pakketab, og det er ikke helt så billigt eller nemt, når man taler om transport af fysiske genstande!