Udviklere: Intels automatiske fejlfindingsværktøj ControlFlag er nu open source

0
135

 Daphne Leprince-Ringuet

Af Daphne Leprince-Ringuet | 20. oktober 2021 | Emne: Udvikler

 gettyimages-1320577198.jpg

ControlFlag har indtil nu kun været bruges internt af Intel til at få øje på afvigelser i virksomhedens egen softwareudvikling.

Billede: LukaTDB/Getty Images

Intels automatiske kodefejlfindingsværktøj ControlFlag er nu open source og tilgængeligt for udviklere gratis – et træk, der vil være en lettelse for mange, der er trætte af at bruge timer på at undersøge deres softwareprogrammer på jagt efter en potentiel anomali.

ControlFlag er nu tilgængelig via GitHub og klikker på maskinlæring for automatisk at identificere fejl i software- og firmwarekode, hvilket sparer udviklere for en tidskrævende opgave med manuel fejlfinding af de programmer, de skriver.

Meddelt for første gang i slutningen af ​​sidste år, har ControlFlag indtil nu kun været brugt internt af Intel, til at spotte uregelmæssigheder i virksomhedens egen softwareudvikling. Ved at åbne værktøjet for eksterne udviklere og lade dem bygge videre på det, forventer Intel at skubbe grænserne for, hvad systemet kan gøre for at strømline processen med at skrive kode.

Debugging er afgørende for programudvikling: Næsten al storstilet software indeholder nøjagtighed, ydeevne eller sikkerhedsfejl, der skal afhjælpes. Hvad mere er, hver opdatering til disse programmer, f.eks. Lancering af en ny funktion, introducerer en anden mulighed for en anomali.

Men for langt de fleste udviklere er processen en tidskrævende og stadig stort set manuel opgave. Dette skyldes, at de fleste fejl kræver en semantisk analyse for at identificere, vurdere grundårsagen og afbøde-en analyse, som selv state-of-the-art fejlsøgningssystemer ikke er i stand til at udføre effektivt.

“Historisk set var sådanne semantiske analysatorer simpelthen softwareudviklere,” siger Justin Gottschlich, ledende AI-forsker ved Intel Labs, til ZDNet. “Som sådan er dette en vigtig grund til, at fejlfinding stadig er en stort set menneskedrevet proces.”

I de sidste årtier er der sket fremskridt i forsøget på at automatisere fejlfinding, men eksisterende værktøjer kan ikke matche softwarefejl, der kun bliver mere komplekse. Det er derfor, udviklere ikke kan lide debugging så meget, siger Gottschlich: det kan tage dage, uger og endda måneder at rette en enkelt softwarefejl. Det anslås faktisk, at op til 50% af al softwareudviklingstid er dedikeret til fejlfinding.

Dette kommer også til en pris for virksomheder. Ifølge Intel brugte it -industrien anslået 2 billioner dollars i 2020 i omkostninger til softwareudvikling forbundet med fejlfindingskode, hvilket repræsenterer omkring halvdelen af ​​det gennemsnitlige it -budget.

ControlFlag blev designet til at imødegå dette hul gennem en funktion kendt som anomaliedetektering. Værktøjet lærer af tidligere eksempler at registrere normale kodningsmønstre og kan derfor identificere anomalier, der sandsynligvis vil forårsage en fejl, uanset programmeringssprog.

Intels team fastslog, at en uovervåget indlæringsmetode ville være nødvendig for at tillade ControlFlag at opdage fejl i en bredere vifte af lagre. Systemet lærte kodningsmønstre fra over en milliard linjer umærket kildekode, hvilket gjorde det muligt at nå en høj grad af nøjagtighed og endda tilpasse sig udviklernes stil for at differentiere en software -anomali fra en stilistisk variation i et programmeringssprog.

Siden det blev introduceret sidste år, har Intel testet maskinlæringsværktøjet på forskellige softwaresystemer med lovende resultater. “Da vi oprindeligt designede systemet, forventede vi ikke, at det ville være i stand til at finde meget komplekse defekter,” siger Gottschlich. “Men i betragtning af dets selvovervågede design, har ControlFlag forbløffet selv os, dem, der byggede det, i dets evne til at finde meget komplekse, nuancerede softwarefejl.”

Brug af ControlFlag på kun to proprietære softwarelager, siger Gottschlich, resulterede i at identificere over 300 fejl i programmerede produktions-kvalitet, implementerede programmer. For eksempel opdagede ControlFlag sidste år en kode -anomali i et computersoftwareprojekt ved navn Client URL (cURL), som overfører data ved hjælp af forskellige netværksprotokoller mere end en milliard gange om dagen. Efter at have rapporteret anomalien til cURL -teamet, accepterede de ControlFlags resultater og redesignede deres kode for at rette problemet.

Det sidste år er også kommet med en rimelig andel af læringspunkter, da Intels team arbejdede med at udvikle ControlFlag. To nøgleområder for forbedring, ifølge Gottschlich, er at reducere antallet af falske positiver rapporteret af værktøjet – antallet af rapporterede defekter, der ikke er faktiske fejl – og at integrere en endnu mere avanceret sematisk analysator i ControlFlags ræsonnement.

Som et system, der skal blive et af flagskibsprodukterne i Intels maskinprogrammeringspakke med værktøjer, er ControlFlag dog indstillet på at blive ved med at udvikle sig. “Det er usandsynligt, at fremskridtene i ControlFlag nogensinde vil standse,” siger Gottschlich. “Dette skyldes i høj grad, at i takt med at programmeringssprog, hardware -beskrivelsessprog og computerenheder udvikler sig, bliver ControlFlag også nødt til at udvikle sig for at holde trit med dem.”

Systemet er en del af Intels projekt om maskinprogrammeringsforskning (MPR), der har det overordnede mål at reducere den tid, det tager at udvikle software med 1.000 gange takket være automatisering. Et af de områder, Gottschlichs team undersøger, for eksempel, er til sidst at udvide ControlFlags evner til automatisk at reparere de fejl, som det opdager.

Sideløbende arbejder Intels MPR-team på en håndfuld projekter, der fokuserer på at gøre softwareudvikling lettere. Sidste år udgav virksomheden f.eks. Et værktøj, der er udviklet sammen med MITs laboratorier, og som kan studere kodeuddragere for at forstå, hvad et stykke software har til hensigt at gøre. Systemet kaldes MISIM (Machine Inferred code Similarity) og bruger et katalog med allerede eksisterende kode til at forstå hensigten bag en ny algoritme og hjælpe ingeniører, der arbejder med software, ved at foreslå andre måder at programmere på eller tilbyde muligheder for at gøre koden mere effektiv.

Gottschlich forventer, at MISIM en dag vil arbejde sammen med ControlFlag. “Når det er korrekt sammensmeltet, forestiller vi os et mere kraftfuldt nyt system, der vil være i stand til at opdage alle de fejl, ControlFlag i øjeblikket kan, samt hundredvis af fejl, det i øjeblikket ikke kan opdage på grund af deres underliggende kompleksitet,” siger Gottschlich.

I mellemtiden kan udviklere, der er interesserede i at komme i gang med værktøjet, nu få adgang til ControlFlag på GitHub her.

Relaterede emner:

Intel Enterprise Software Open Source Mobile OS  Daphne Leprince-Ringuet

Af Daphne Leprince-Ringuet | 20. oktober 2021 | Emne: Udvikler