DeepCode zal met behulp van AI fouten in de softwarebroncode vinden

Vandaag een Zwitserse startup DeepCode, dat kunstmatige intelligentie en machinaal leren gebruikt om codeanalyse te automatiseren, heeft aangekondigd dat het $ 4 miljoen aan investeringen heeft ontvangen van durffondsen Earlybird, 3VC en Btov Partners. Het bedrijf is van plan deze fondsen te gebruiken om ondersteuning voor nieuwe programmeertalen in zijn dienstverlening te introduceren, en om het product op de mondiale IT-markt op de markt te brengen.

DeepCode zal met behulp van AI fouten in de softwarebroncode vinden

Codeanalyse is nodig om fouten, potentiële kwetsbaarheden, opmaakschendingen en nog veel meer in een vroeg stadium van de softwareontwikkeling op te sporen, voordat de code ergens wordt gebruikt. Normaal gesproken wordt deze procedure parallel uitgevoerd met de ontwikkeling van nieuwe code en onmiddellijk nadat deze is voltooid, voorafgaand aan de testfase zelf. “Bij het testen van software wordt de code van buitenaf bekeken, maar bij codeanalyse kun je er van binnenuit naar kijken”, legt Boris Paskalev, medeoprichter en CEO van DeepCode, uit in een interview met VentureBeat.

Meestal wordt de codebeoordeling uitgevoerd door de auteurs samen met collega's en managers om duidelijke fouten te identificeren voordat doorgegaan wordt naar de volgende ontwikkelingsfasen. En hoe groter het project, hoe meer regels code er moeten worden gecontroleerd, wat een aanzienlijke hoeveelheid tijd van programmeurs in beslag neemt. Tools die dit proces zouden moeten versnellen bestaan ​​al een hele tijd, zoals statische code-analyzers als Coverity en PVS-Studio, maar deze zijn vaak beperkt in hun mogelijkheden omdat ze zich richten op “vervelende en repetitieve stilistische problemen, opmaak en kleine logische fouten”, legt Paskalev uit.

DeepCode bestrijkt op zijn beurt een breder scala aan problemen, bijvoorbeeld het detecteren van kwetsbaarheden zoals mogelijkheden voor cross-site scripting en SQL-injectie, omdat de daarin ingebedde algoritmen de code niet alleen analyseren als een reeks tekens, maar ook proberen de betekenis en het doel van de werkgeschreven programma's begrijpen. De kern hiervan is een machine learning-systeem dat voor zijn training miljarden regels code uit openbaar beschikbare open source-projecten gebruikt. DeepCode analyseert eerdere versies van de code en daaropvolgende wijzigingen die erin zijn aangebracht om te bestuderen welke fouten en hoe echte programmeurs hun werk hebben gecorrigeerd, en biedt vervolgens soortgelijke oplossingen aan zijn gebruikers. Daarnaast maakt het systeem ook gebruik van traditionele voorspellingsalgoritmen om mogelijke problemen in de code te vinden, zoals de hierboven genoemde statische analysers.

Een van de belangrijkste vragen bij het gebruik van DeepCode is: hoe betrouwbaar is de automatische codebeoordeling? Een analysenauwkeurigheid van minder dan 100% betekent dat ontwikkelaars hun code nog steeds handmatig zullen moeten analyseren. Zo ja, hoeveel tijd zal het gebruik van tools om deze taak te automatiseren daadwerkelijk opleveren? Volgens Paskalev kan DeepCode ontwikkelaars ongeveer 50% van de tijd besparen die ze momenteel zelf besteden aan het zoeken naar fouten, wat een behoorlijk aanzienlijk cijfer is.

Ontwikkelaars kunnen DeepCode verbinden met hun GitHub- of Bitbucket-accounts, en de tool ondersteunt ook lokale GitLab-configuraties. Bovendien beschikt het project over een speciale API waarmee ontwikkelaars DeepCode in hun eigen ontwikkelsystemen kunnen integreren. Eenmaal verbonden met de repository analyseert DeepCode elke codewijziging en signaleert mogelijke problemen.

DeepCode zal met behulp van AI fouten in de softwarebroncode vinden

“Gemiddeld besteden ontwikkelaars ongeveer 30% van hun tijd aan het vinden en oplossen van bugs, maar DeepCode kan nu de helft van die tijd besparen, en zelfs nog meer in de toekomst”, zegt Boris. “Omdat DeepCode rechtstreeks leert van de wereldwijde gemeenschap van ontwikkelaars, kan het meer problemen vinden dan één persoon of een hele groep reviewers ooit zou kunnen vinden.”

Naast het nieuws van vandaag over het ontvangen van investeringen, kondigde DeepCode ook een nieuw waardebeleid voor zijn product aan. Tot nu toe was DeepCode alleen gratis voor open source softwareontwikkelingsprojecten. Nu zal het gratis te gebruiken zijn voor elk educatief doel en zelfs voor commerciële bedrijven met minder dan 30 ontwikkelaars. Het is duidelijk dat de makers van DeepCode met deze stap hun product populairder willen maken onder kleine teams. Bovendien brengt DeepCode $20 per ontwikkelaar per maand in rekening voor cloudimplementatie en $50 per ontwikkelaar voor lokale ondersteuning.

Eerder had het DeepCode-team al investeringen van $1 miljoen ontvangen. Met nog eens 4 miljoen zegt het bedrijf van plan te zijn de programmeertalen die het ondersteunt uit te breiden tot buiten Java, JavaScript en Python, inclusief ondersteuning voor C#, PHP en C/C++. Ze bevestigden ook dat ze werken aan hun eigen geïntegreerde ontwikkelomgeving.



Bron: 3dnews.ru

Voeg een reactie