Riba:
- Ƙarfin siffanta bug ga AI yadda ya kamata tare da saƙon kuskure, tari, da ƙaramin misali haifuwa
- Ability don gudanar da tsararru na ɓarna tare da AI don nemo tushen tushen ta hanyar hasashe da rage shi mataki-mataki.
- Ability don tabbatar da cewa gyaran AI ya ba da shawarar a zahiri gyara matsalar ta sake haifuwa da gwajin sake dawowa
Gyara kurakurai aikin ne na gano dalilin da yasa shirin ke yin abubuwa daban-daban fiye da yadda ake tsammani da kuma gyara shi, kuma yana cinye yawancin lokacin injiniyoyi. Kyakkyawan zazzagewa ba ta dogara ne akan wasan zato ba, amma akan tsarin taƙaitawa: fayyace alamar, hasashe, gwada hasashen, isa ga tushen tushen. AI abokin tarayya ne mai ƙarfi a cikin wannan zagayowar; Amma kawai idan kun ba shi ingantaccen bayanin. Faɗin "lambar baya aiki, gyara shi" yana tilasta AI don yin zato da ba da shawarwarin bargo. Ba shi cikakken saƙon kuskure, alamar tari, da mafi ƙarancin samfurin haifuwa, kuma tare zaku sami tushen tushen.
A cikin wannan rukunin za mu ga yadda za a iya kwatanta kwaro ga AI yadda ya kamata, rage hasashe mataki-mataki, da kuma tabbatar ta hanyar gwajin koma-baya cewa gyara da aka gabatar a zahiri yana magance matsalar. Ka tuna: "gyara" bug da "danne alamar kwaro" abubuwa ne daban-daban guda biyu; Gyaran da aka yi ba tare da gano tushen dalilin motsa kuskuren zuwa wani wuri ba.
Ra'ayoyi: Alamar tari: Juji yana nuna waɗanne ayyuka aka kira a cikin wane tsari a lokacin kuskuren. Karamin repro: Mafi sauƙaƙa, mafi guntu lamba/sarrafawa wanda ke haifar da kuskure. Tushen dalili: Ainihin tushen matsalar, ba alamar ba. Gwajin koma baya: Gwajin da ke tabbatar da cewa kuskure iri ɗaya baya maimaitawa.
Bayanin Bug zuwa AI
Yiwuwar AI gano tushen dalilin kai tsaye daidai da ingancin bayanin da kuke bayarwa. Kyakkyawan bayanin kuskure ya haɗa da: abin da kuka yi ƙoƙarin yi, abin da kuke tsammani, abin da ya faru, ainihin kuskuren rubutu da tari, lambar da ke ciki, yanayi (harshe / sigar / OS), da ƙaramin samfurin da ya haifar da kuskuren.
- Bayyana alamar. A cikin tsarin "X da ake tsammani, ainihin Y".
- Manna cikakken rubutun kuskure da tari. Kar a gajarta shi, tantance shi, amma kar a karya tsarin.
- Ba da mafi ƙarancin haifuwa. Mafi ƙarancin shigarwa da lambar da ke haifar da kuskure.
- Ƙayyade yanayin. Sigar harshe, sigar ɗakin karatu, yanayin lokacin aiki.
Ingantacciyar bayanin bayanin kuskure: "Ina cire bug. Bayani: - Abin da nake ƙoƙarin yi: [X] - Halayen da ake tsammani: [Y] - Halayyar haƙiƙa: [Z] - Cikakkun saƙon kuskure da tari: [manna] - Muhalli: [harshe / sigar, ɗakin karatu / nau'in] - Mafi ƙarancin lambar da ke da hannu: [lambar] kar a ba ni tushen tushen tushen kai tsaye. kuma ku gaya mani abin dubawa don tabbatarwa kowannensu."
Rage Tafiya Ta Haska
Gyaran tsari shine fasahar kawar da yuwuwar daya bayan daya. Yi amfani da AI don samar da hasashe da tsara gwajin don gwada kowane hasashe; Sannan gudanar da gwajin kuma mayar da sakamakon. Wannan sake zagayowar yana da sauri fiye da al'adar yin sauye-sauye bazuwar da tsayawa, wanda ake kira "debugging harbi".
Binary search (bisection) mataimaki mai sauri: "Wannan kuskuren bai kasance a jiya ba, yana nan a yau. Ina so in gano wane canje-canje na 20 na ƙarshe ya kawo kuskure tare da bisect. Ka ba ni tsarin mataki-mataki: wane batu zan gwada, wanda rabi ya kamata in je dangane da sakamakon. Har ila yau gaya mani ainihin abin da zan duba a kowane mataki. "
Dabarar shigar da shiga cikin hanzari: "Ba zan iya samun kuskuren ba saboda ba zan iya ganin matsakaicin dabi'u a cikin wannan aikin ba. Fada mani a waɗanne maki nake buƙatar ƙara layin log ɗin da ke buga waɗanne masu canji. Ƙara bayanin 'menene zan koya daga wannan log' ga kowane log ɗin. Haka kuma saka gargaɗin da zai hana ni shiga bayanan sirri."
Tukwici: Idan ba za ku iya magance kuskure ba, yawancin lokaci matsalar ita ce wurin da kuka ɗauka ba daidai ba. Tambayi AI "wane zato nawa zai iya zama kuskure?" Tambaya zata karya makanta. Babban kurakurai suna ɓoye a wurin da kuka ce "Na tabbata wannan yana aiki daidai".
Rauni Mai Sauƙi / Ƙarfi Mai ƙarfi
RAUNI: "Lambara ta ba da kuskure, gyara shi: [200 Lines of code]" (Sakamakon: AI bai san abin da kuskure yake ba, abin da ake sa ran; yana ba da shawarwari na gabaɗaya dangane da zato, yawancin su ba su da amfani.) KARFI: "Na sami NullPointerException. Ana tsammanin: ya kamata a dawo da jerin masu amfani. Gaskiya: Fashewa a kan kira zuwa ga masu amfani da Java: Epastement . 17. Mafi qarancin maimaitawa: Yana faruwa lokacin da jerin masu amfani ba su da komai, amma ba lokacin da aka cika layukan 15 ba: [lambar].
Ƙarfin faɗakarwa yana sanya kuskure a cikin mahallin: a cikin abin da ya faru (jerin da ba shi da amfani), wanda a cikin wannan yanayin bai faru ba (cikakken lissafi). Wannan ma'ana guda ɗaya ("yana faruwa lokacin da babu komai") kusan kai tsaye yana nuna tushen tushen. Tun da wannan bayanin ba ya samuwa a cikin rashin ƙarfi, AI yana yin hasashe makaho.
Tabbatar da Gyara
Gyaran gyara ne kawai idan yayi abubuwa uku:
sarrafawa
Tambaya
Yadda ake tabbatarwa
Kuskuren ya tafi?
Shin shigarwa iri ɗaya yana aiki yanzu?
Gudu mafi ƙarancin repro kuma
Babu sababbin kurakurai?
Wani abu kuma ya karye?
Guda dukan ɗakin gwaji
Ba zai maimaita ba?
Shin kuskure iri ɗaya zai sake faruwa?
Ƙara gwajin koma baya don wannan yanayin
Gyaran da aka yi ba tare da gano tushen dalilin sau da yawa yana kashe alamar ba. Misali, kyalkyali da kuskuren kuskure tare da "tsalle idan babu" ya sa ainihin dalilin, "me yasa bayanan ke zuwa batattu?" ganuwa, kuma kuskuren ya sake faruwa a wani wuri.
Mini Cases
Case 1 - Alamun danne tarkon. Ƙungiya ta rufe kuskuren kuskure na lokaci-lokaci tare da kamawa; Kuskuren ya ɓace amma bayan makonni 2 bayanan sun bayyana bace. Haƙiƙanin dalili shine sabis ɗin yana dawowa mara amfani akan lokacin ƙarewa. Lokacin da ka tambayi AI "me yasa ya zama maras kyau?", tushen dalilin ya fito; Gyaran ainihin yana ɗaukar awa 1 amma yana dindindin.
Case 2 - Karamin repro ikon. Mai haɓakawa ba zai iya gyara kwaro da ke cewa "yana faɗuwa kowane lokaci kaɗan." Yana rage kuskuren zuwa mafi ƙarancin shigarwa tare da shawarar AI: matsalar tana faruwa ne kawai tare da sunayen fayil ɗin da ke ɗauke da haruffan Baturke (kuskuren ɓoyewa). Lokacin da aka rage layukan rashin tabbas guda 300 zuwa layukan 5 na tabbataccen repro, mafita ta bayyana.
Case 3 - Anti-regression gwajin. AI yana gyara kuskuren lissafin kwanan wata. Injiniya bai gamsu da wannan ba; yana ƙara gwajin koma baya don yanayin kuskure (ƙarshen wata, Janairu 31 + 1 wata). Lokacin da wani canji ya taɓa yanki ɗaya bayan watanni 4, gwajin ya zama ja kuma ana kama kwaro kafin ya kai ga samarwa.
Kuskuren gama gari
- Yana nufin "ba ya aiki, gyara shi". Ba tare da rubutun kuskure ba, tsammanin da sakewa, AI hasashe.
- Ba bada alamar tari ba. Alamar tari sau da yawa kai tsaye tana nuna tushen tushen.
- Ci gaba da yin canje-canje bazuwar. Gwaje-gwaje ba tare da kafa hasashen bata lokaci ba.
- Danne alamar cutar da rasa tushen dalilin. An sake haifar da kuskure a wani wuri.
- Ba a tabbatar da gyara ba tare da gwajin koma baya. Kuskuren guda yana dawowa shiru a nan gaba.
a takaice
Gyaran gyara mai inganci shine takurawa tsari, ba zato ba. Bayar da AI cikakken rubutun kuskure, alamar tari, ƙaramin haifuwa da bayanan muhalli yana haɓaka damar gano tushen dalilin. Yi amfani da AI don samar da hasashe da tsara gwajin don gwada kowane hasashe; Kuna gudanar da gwajin. Yi la'akari da gyara "an yi" kawai lokacin da kuka ga cewa kwaro ya tafi, ba a gabatar da sababbin kwari ba, kuma ana kiyaye shi ta hanyar gwaji na sake dawowa.
Aikin aikace-aikace
Yi la'akari da kuskuren gaske ko na wucin gadi. Da farko rage kuskure zuwa mafi ƙarami haifuwa (a cikin abin da shigarwa ya faru, wanda ba ya). Yin amfani da ingantaccen girke-girke na bug, tambayi AI don tushen 3 tushen hasashe da matakin tabbatarwa ga kowane. Nemo tushen dalilin ta hanyar gwada hasashen daya bayan daya, gyara shi, sannan rubuta da gudanar da gwajin sake dawowa don wannan yanayin don nuna cewa kwaro ya ɓace kuma gwajin yana ba da kariya.
jerin abubuwan dubawa
- [ ] Na fayyace alamar a matsayin "wanda ake tsammanin mun gane".
- [ ] Na ba da cikakken rubutun kuskure da tari ga AI.
- [ ] Na rage kuskuren zuwa mafi ƙarancin haifuwa.
- [ ] Ta hanyar gwada hasashen daya bayan daya, na gano tushen dalilin.
- [ ] Maimakon murkushe alamar, na gyara tushen dalilin.
- [ ] Na ƙara kuma na gudanar da gwajin koma baya don kuskure ɗaya.