science >> Wetenschap >  >> Elektronica

SapFix baant een koele weg naar het elimineren van debugging-code sleur

Deze afbeelding illustreert hoe SapFix patches voor softwarefouten genereert. Krediet:Facebook

Facebook heeft iets bedacht dat SapFix wordt genoemd en hun aankondiging betekent een welkome mate van ondersteuning voor het debuggen van taaksleur; SapFix kan vertrouwen op kunstmatige intelligentie en komt met enkele antwoorden die tijd besparen. Bij de tool draait alles om het automatisch vinden en oplossen van bugs. Als zodanig heeft het niet alleen de potentie om de kwaliteit van de codeproductie te verbeteren, maar ook de snelheid van het genereren van code.

Facebook-ingenieurs Yue Jia, Ke Mao, en Mark Harman schreven over de tool voor zoeken en repareren in hun blog.

"Debugcode is een sleur, " Zij schreven, maar deze nieuwe hybride AI-tool kan de tijd die ingenieurs aan het debuggen besteden, verkorten. SapFix kan automatisch fixes genereren voor specifieke bugs, stel ze vervolgens voor aan technici voor goedkeuring en implementatie in productie.

Hun beschrijving laat duidelijk zien dat dit geen vervanging is voor menselijke expertise, aangezien de ingenieurs altijd op de hoogte worden gehouden; er wordt een beroep gedaan op hun expertise om te bevestigen dat de voorgestelde fixes ook daadwerkelijk moeten worden geïmplementeerd. De tool leunt op AI om oplossingen voor programmeerfouten voor te stellen, en dan komt het menselijke element waar mensen (software-ingenieurs) kunnen goedkeuren en implementeren.

"Het is een belangrijke mijlpaal voor AI-hybriden en biedt verder bewijs dat op zoeken gebaseerde software-engineering wrijving in softwareontwikkeling kan verminderen, " ze zeiden.

SD-tijden leidde lezers door wat SapFix kan doen:(1) de bug vinden (2) een oplossing genereren en (3) een actieplan voorstellen dat technici moeten uitwerken voordat de productie wordt uitgerold.

De tool kan zelfs meer dan een enkele patch vinden. Het kan meerdere fixes per bug genereren en de kwaliteit evalueren. De identificatie van een roodlichtcode-crash wordt doorgegeven aan SapFix, zei Het register , die vervolgens beslist over een paar mogelijke strategieën voor het genereren van een patch.

Naast SapFix werd melding gemaakt van de geautomatiseerde softwaretesttool van Facebook, in het artikel van Christina Cardoza van SD-tijden .

SapFix is ​​nog in ontwikkeling, dus niet te verwarren met Sapienz, het produceren van honderden maandelijkse bugrapporten. De ingenieurs blogden ook, "Maar sinds we SapFix in augustus begonnen te testen, de tool heeft met succes patches gegenereerd die zijn geaccepteerd door menselijke recensenten en naar productie zijn gepusht."

De bloggers hadden dit te zeggen over toekomstige richtingen. "Terwijl we SapFix ontwikkelen om met verschillende soorten bugs en software te werken, de tool heeft het potentieel om de snelheid en kwaliteit van het genereren van code te veranderen. Dat geldt niet alleen voor bedrijven die op grote schaal opereren, maar ook voor bijna iedereen die code maakt. Of ze nu samen of afzonderlijk worden gebruikt, Met SapFix en Sapienz hoeven ontwikkelaars minder tijd te besteden aan het debuggen en meer aan het genereren van wat de toekomst biedt."

Wilt u een voorproefje van hoe SapFix naar oplossingen zoekt? Thomas Claburn in Het register :

"Het kan de eerdere commit die de bug introduceerde, geheel of gedeeltelijk ongedaan maken, of het kan een oplossing ophalen uit een bibliotheek met reparaties in sjablonen die zijn afgeleid van codepatches die in het verleden door software-engineers van het bedrijf zijn ingediend. Als die opties niet werken, SapFix probeert kleine codewijzigingen aan te brengen in de abstracte syntaxisstructuur van de instructie die verantwoordelijk is voor de crash, in de hoop dat dit het probleem zal verbeteren."

© 2018 Tech Xplore