Anthropics Frontier Red Team og formalmetodefirmaet Theorem siger, at Claude har lavet maskintjekkede beviser for 239 testindgange i 123 open source-biblioteker. Beviserne dækker bestemte egenskaber om nedbrud og hukommelsessikkerhed i kompilerede RISC-V-programmer under fastlagte betingelser. De viser ikke, at bibliotekerne som helhed er fri for fejl.
9
5
Arbejdet er bemærkelsesværdigt i omfang: Holdet oplyser, at det tog få uger og omfattede omkring 180 millioner linjer Rocq-beviskode. Den større pointe er, at AI måske kan gøre formel verifikation anvendelig på mere rigtig software – så længe konklusionerne holdes inden for det, der faktisk er specificeret og kontrolleret.
3
13
Hvad beviserne viser
Anthropic siger, at de undersøgte programmer afsluttes normalt uden hukommelsessikkerhedsfejl eller fejlslagne påstande for alle input på under 64 MB, når de afvikles med de modellerede Linux-svar og hukommelsesopsætninger. Beviserne gælder kompilerede RISC-V-programmer, ikke enhver version eller anvendelse af de enkelte biblioteker.
9
12
Holdet tog udgangspunkt i testindgange fra Googles OSS-Fuzz-projekt og brugte dem som formelle specifikationer. Fuzzing afprøver et program med mange forskellige input; et formelt bevis kan derimod vise, at en bestemt egenskab gælder for alle input inden for det område, som beviset omfatter.
3
13
Anthropic beskriver projektet som det første storstilede forsøg på at bruge AI til formel verifikation af produktionssoftware på assemblyniveau. Det er holdets karakteristik af projektets nyhed, ikke en historisk vurdering, som alle uafhængige kilder nødvendigvis deler.
7
13
Rocq kontrollerer beviserne
Claude genererede beviserne, mens Rocqs beviskerne kontrollerede dem. Det betyder, at udviklere ikke behøver at stole på Claudes ræsonnement eller gennemgå hver linje manuelt for at få beviset mekanisk kontrolleret. Men kontrollen fjerner ikke alle forbehold: Beviset skal handle om den egenskab, udviklerne faktisk har brug for, og de formelle modeller og selve kontrolværktøjet indgår stadig i grundlaget, man må stole på.
9
5
Anthropic og andre omtaler den samlede mængde som cirka 180 millioner linjer Rocq-beviser – omtrent 600.000 linjer pr. program i gennemsnit. Det viser størrelsen på arbejdet, men antallet af linjer fortæller ikke i sig selv, hvor bredt en egenskab gælder, eller om den svarer til et projekts behov i produktion.
3
12
Hvad test kan overse
Fuzzing afprøver mange input, men beviser ikke i sig selv, hvad der sker med hvert eneste input i et bestemt område. Omtaler af projektet siger, at Claude fandt og rettede hundredvis af fejl, herunder problemer, der var undsluppet billioner af fuzzingkørsler. Det er rapporterede tal for dette arbejde – ikke en uafhængig måling af, hvor ofte formel verifikation vil overgå test i andre projekter.
2
11
Det betyder ikke, at test bør droppes. Formelle beviser kan give en anden type sikkerhed: Inden for den angivne specifikation kan de fastslå, hvad programmet gør på tværs af alle relevante input, frem for kun de tilfælde, en test har afprøvet.
9
2
Hvorfor “verificeret” ikke betyder “fejlfri”
Garantierne gælder udvalgte testindgange og bestemte kompilerede programmer. De dækker ikke automatisk alle funktioner i et bibliotek, alle byggeindstillinger, andre processortyper eller enhver måde at bruge softwaren på.
9
5
Betingelserne er også afgørende. Omtaler af arbejdet beskriver beviserne som gældende for statiske, enkelttrådede RISC-V-programmer, der kører i et modelleret Linux-miljø med et fast hukommelsesbudget. Mange anvendelser bygger på andre processortyper eller opsætninger, så resultaterne bør ikke læses som en garanti for de versioner.
12
27
34
Endelig beviser en formel verifikation den sætning, der er skrevet – ikke alle de egenskaber, en udvikler måtte ønske. Fejl kan ligge uden for bevisets rammer eller i de modeller og kontrolmekanismer, som beviset bygger på.
5
31
Hvad udviklere kan tage med sig
Projektets vigtigste bidrag er et tegn på, at AI-assistance måske kan gøre formel verifikation af kompileret software praktisk i større skala end før, uden samme omfattende ekspertindsats. Det er ikke en universel prisberegning eller en garanti for, at metoden virker på enhver kodebase.
7
13
En del af beviserne er offentliggjort. En omtale beskriver det offentlige udvalg som 25 biblioteker og 60 testindgange – altså kun en del af det samlede rapporterede arbejde. Theorem har også annonceret OSS Verify, et program rettet mod vedligeholdere af open source-software.
32
16
38
For udviklere er den praktiske læring at behandle et bevis som en afgrænset sikkerhedsgaranti: Se på den præcise testindgang, det kompilerede program, antagelserne og den egenskab, der er bevist. Resultaterne gør AI-assisteret formel verifikation værd at undersøge sammen med test – ikke til en grund til at stoppe med at teste eller antage, at softwaren er fejlfri.
9
5