Eining 4 / 12

Skoða kóða og villuleit

Hagnaður:

  • Geta til að nota gervigreind sem upphafsendurskoðunarsíu með flokkum og alvarleikamerkjum
  • Hæfni til að sía niðurstöður með mannshuganum til að sannreyna/falsa jákvætt/beita
  • Hæfni til að framfylgja kröfum um samþykki manna varðandi viðskiptareglur, byggingarlist og ákvarðanir sem eru mikilvægar fyrir öryggi

Kóðaskoðun er þegar breyting skrifuð af þróunaraðila er skoðuð af einhverjum öðrum áður en hún er sameinuð. Góð umsögn; Það grípur villur snemma, deilir upplýsingum og heldur kóðagrunninum stöðugum. En umsagnir eru þreytandi, hættar á truflun og verða yfirborðskenndar undir tímapressu. Gervigreind er tvíþætt aðstoðarmaður hér: hún gerir þér bæði kleift að forhreinsa þinn eigin kóða sem þú sendir til skoðunar og að skoða PR einhvers annars (pull request) með skarpari augum.

Mikilvægi greinarmunurinn er þessi: gervigreind flýtir fyrir og eykur endurskoðun, en það getur ekki tekið yfir ábyrgðina á samþykki. Setningin „AI leit, það er hreint“ er ekki meðmæli. Endanleg ákvörðun um „samruna“ er undir verkfræðingi sem þekkir kóðann og samhengið.

Um hvað gervigreind er gott og slæmt í skoðun

Gott fyrir: Núllathugunarmissir, tilföngsleka (skrá/tengill enn opinn), óveiddar undantekningar, augljóslega rangar aðstæður (>= í stað >), endurnefnatillögur, læsileika, vantar brúnmál, einföld öryggislykt (eins og samtenging SQL strengja), uppgötvun af tvíteknum kóða.

Veikleikar: Djúpir gallar sem brjóta í bága við viðskiptaregluna þína en krefjast samhengis og tímasetningar, svo sem setningafræðilega rétta rökfræði, samræmi við byggingarlist, raunverulegir flöskuhálsar í frammistöðu, samhliða villur. AI framleiðir líka rangar jákvæðar (að misskilja eitthvað sem er í raun ekki vandamál fyrir vandamál) og rangar neikvæðar (vantar raunverulegu villuna). Þess vegna er framleiðsla þess „varúðarlisti“, ekki endanlegur dómur.

Varúð: Bara vegna þess að gervigreindin segir „ekkert vandamál“ sannar ekki að kóðinn sé réttur. Falskar neikvæðar eru þöglar; Hættulegustu mistökin eru þau sem aldrei er minnst á í umsögninni.

Kerfisbundin endurskoðunarskref

  1. Gefðu samhengið. Bættu tilgangi breytingarinnar, viðkomandi atriði og samþykkisviðmiðunum, ef einhver er, við leiðbeiningarnar. Tilgangslaus endurskoðun framleiðir tilgangslausa túlkun.
  2. Skiptu því niður í flokka. Biðjið líkanið að flokka niðurstöðurnar sem „galla/öryggi/frammistöðu/læsileiki/stíll“; þannig að þú skilur gagnrýninn frá hávaðanum.
  3. Óska eftir alvarleikamerki. Gefðu hverri uppgötvun einkunnina „hátt/miðlungs/lágt“ og innifalið „orsök“ og „ráðlagða leiðréttingu“.
  4. Sía það með eigin augum. Metið hverja niðurstöðu: er hún raunveruleg (staðfesta), er hún fölsk jákvæð (skrifaðu rökstuðning), vantar eitthvað (bættu við eigin þekkingu).
  5. Staðfestu mikilvægar slóðir handvirkt. Lestu og keyrðu leiðir sem fela í sér peninga, auðkenni, heimild og eyðingu gagna sjálfur án þess að treysta á gervigreind.

Þrjú Mini Cass

Tilvik 1 — Þögul núllvilla náðist. Eitt lið var með gervigreindarforskoðun á 380 lína PR. Líkanið flaggaði leið þar sem ytri þjónustusvar gæti verið núll, en engar athuganir voru gerðar á því í kóðanum. Mannlegur gagnrýnandi staðfesti þessa slóð og bætti við núllathugun; Svipuð villa olli tveggja tíma framleiðslustöðvun á fyrri ársfjórðungi.

Tilvik 2 — Falskt jákvætt brottnám. Gervigreindin flaggaði „mögulegt frammistöðuvandamál“ í lykkju. Gagnrýnandinn lokaði þessu sem falskt jákvætt, vitandi að lykkjan virkar aðeins með að hámarki 5 þætti (hún fer yfir enum). Fyrirsætan, sem þekkti ekki samhengið, varaði við; Sá sem þekkti samhengið tók rétta ákvörðun.

Tilfelli 3 - AI missti af viðskiptaregluvillu. Þó að afsláttarreikningur ætti að vera að hámarki 30% samkvæmt herferðarreglunni leyfði kóðinn 50%. Gervigreindin tók aldrei eftir þessari setningafræðilega fullkomnu rökvillu; því hann þekkti ekki regluna. Gallinn var gripinn í umsögn vörueigandans sem þekkti samþykkisskilyrðin. Lærdómur: Löggilding viðskiptareglna er mannlegt starf.

Fjögur afritanleg sniðmát

Markmiðuð, flokkuð umsögn:

Hlutverk: Nákvæmur gagnrýnandi kóða. Tilgangur breytingarinnar: {{purpose / issue}}Farðu yfir þennan mismun. Komdu með niðurstöður í þessum flokkum: [Bug] [Öryggi][Frammistaða] [Lesanleiki] [Stíll]. Fyrir hverja niðurstöðu: skrá:röð, alvarleiki (hátt/miðlungs/lágt), orsök, ráðlögð lagfæring. Merktu við "mögulegt" ef þú ert ekki viss. Þú þekkir ekki viðskiptareglurnar; Spyrðu mig um staði sem krefjast reglna.{{diff}}

Til að undirbúa endurskoðun eigin kóða:

Skoðaðu þessa breytingu áður en þú opnar PR. Leitaðu að: vantar núll/villuathugun, auðlindaleka, brúnmál, leyndarmál, óprófað útibú. Skráðu niðurstöðurnar í forgangsröð; legg til leiðréttingu 1 línu fyrir hverja.{{code}}

Edge case hunt:

Skráðu inntak og aðstæður þar sem þessi aðgerð gæti bilað: tóm, núll, of stór, neikvæð, samhliða símtal, netvilla, hlutagögn. Fyrir hvert tilvik, skrifaðu væntanlega hegðun og hvað núverandi kóði mun gera.{{function}}

Öryggislyktskönnun (forskimun):

Leitaðu að algengri öryggislykt í þessum kóða: SQL/skipunarsamtenging, ógilt inntak, óbreytanlegt innbyggt leyndarmál, óörugg afserialisering, skortur á réttindaathugun. Skildu niðurstöðurnar í "ákveðna / líklega / þekkingu". Þetta er bráðabirgðaskimun; Það er ekki endanlegur úrskurður.{{code}}

Veik kvaðning / Sterk kvaðning

Veik: "Eru mistök í þessu PR?"
Sterkt: "Tilgangur: bæta afsláttarmiðaafslætti við heildarfjölda körfu (afsláttur má ekki vera meira en 30% - þú getur ekki sannreynt þessa reglu sjálfur, segðu mér bara hvort kóðinn setur efri mörk). Skoðaðu mismun; gefðu niðurstöður eftir flokkum + alvarleika + leiðréttingartillögu, merktu við 'möguleg' ef þú ert ekki viss. [mismunur]"

Sterka útgáfan lýsir skýrt ásetningi, viðskiptareglu og mörk gervigreindar; Þannig koma gagnlegar niðurstöður og svæðið sem líkanið þekkir ekki er enn ljóst.

Að finna tegund

AI áreiðanleiki

hlutverk mannsins

Núll-/villuathugun vantar

hátt

Staðfestu og sóttu um

Læsileiki/stíll

hátt

Veldu eftir vali

Einföld öryggislykt

miðlungs

Ljúktu, skannaðu með ökutæki

Fylgni viðskiptareglna

lágt

Það er algjörlega mannlegt.

Samhliða/arkitektúr

lágt

Nauðsynlegt er að skoða sérfræðinga

AI endurskoðun kemur ekki í stað mannlegrar skoðunar

Settu gervigreind endurskoðun sem „fyrstu síu“: ódýr, hraðvirkur, óþreytandi bráðabirgðapassi. Þessi sía losar athygli mannlegs gagnrýnanda frá óverulegum smáatriðum (bili, nafni) og beinir henni á staði sem krefjast í raun umhugsunar – viðskiptareglan, arkitektúrinn, öryggisniðurstaðan. En samrunasamþykki er undirskrift ábyrgðarmanns innan teymisins. Óháð endurskoðun að minnsta kosti eins lögbærs verkfræðings er skylda fyrir breytingar sem eru mikilvægar fyrir öryggi.

Ábending: Lestu listann yfir niðurstöður sem gervigreindin framleiðir sem „hlutir til að athuga“ frekar en „að gera“. Annaðhvort staðfestu og notaðu hvert atriði eða skrifaðu niður í einni setningu hvers vegna þú stóðst það; þessi ummerki gerir umsögnina endurskoðanlega.

Algeng mistök

  • Það þýðir "AI leit, það er hreint". Þetta er falskt sjálfstraust vegna rangra neikvæðra.
  • Ekki gefa samhengi. Án tilgangs og viðurkenningarviðmiða framleiðir líkanið aðeins yfirborðskenndar stíltúlkanir.
  • Að beita fölskum jákvæðum í blindni. Að laga hverja viðvörun líkansins gæti brotið hlaupandi kóða.
  • Að spyrja fyrirmyndina um viðskiptaregluna. Fyrirmyndin þekkir ekki regluna; Það er undir manninum komið að sannreyna það.
  • Ekki mismuna ofbeldi. Að setja mikilvæga öryggisniðurstöðu og nafntillögu í sama poka skyggir á það sem skiptir máli.

Í stuttu máli

Gervigreind er óþreytandi fyrsta sía í endurskoðun kóða: hún grípur núll/villumissi, jaðartilfelli og einfalt öryggi lyktar vel; en það er veikt fyrir samhengi sem krefst galla eins og viðskiptareglur, arkitektúr og samhliða, og framleiðir bæði rangar jákvæðar og rangar neikvæðar. Biddu um niðurstöður eftir flokkum og alvarleika, síaðu hverja þeirra með mannlegri greind, staðfestu handvirkt mikilvægar leiðir. Samþykki er alltaf undirskrift ábyrgs verkfræðings.

Umsóknarverkefni

Veldu raunverulegt eða nýlegt PR/diff. Í fyrsta lagi skaltu láta gervigreindina endurskoða það með „hlutlægri, flokkaskoðun“ sniðmátinu. Settu niðurstöðurnar í töflu og ákváðu fyrir hvern og einn: satt (ég staðfesti), rangt jákvætt (hér er rökstuðningur minn), eða til að framkvæma. Farðu svo sjálfur í skoðunarferð og reyndu að finna að minnsta kosti eitt atriði (sérstaklega viðskiptareglu eða jaðartilfelli) sem gervigreindina vantar og skrifaðu það niður.

gátlisti

  • [ ] Ég nota AI endurskoðun sem fyrstu síu, ekki áritun.
  • [ ] Ég bæti tilganginum og samþykkisviðmiðunum við endurskoðunartilkynninguna.
  • [ ] Ég aðskil niðurstöðurnar frá hávaðanum eftir flokkum og vil eindregið hafa þær.
  • [ ] Ég sía meðvitað hverja niðurstöðu til að staðfesta/falsa jákvæða/beita mér.
  • [ ] Sem manneskja athuga ég viðskiptareglur og samræmi við byggingarlist.
  • [ ] Ég þarf samþykki frá hæfum verkfræðingi fyrir breytingar sem eru mikilvægar fyrir öryggi.