Vandaag heeft de Zwitserse startup , die kunstmatige intelligentie en machine learning gebruikt om de analyse van programmatuur te automatiseren, aangekondigd 4 miljoen dollar aan investering te hebben ontvangen van de durfkapitaalbedrijven Earlybird, 3VC en Btov Partners. Het bedrijf is van plan deze middelen te gebruiken om ondersteuning voor nieuwe programmeertalen aan zijn service toe te voegen, evenals voor de marketing van het product op de wereldwijde IT-markt.

Codeanalyse is noodzakelijk om fouten, potentiĆ«le kwetsbaarheden, schendingen van algemene opmaakregels en veel meer in de vroege stadia van softwareontwikkeling te ontdekken, voordat de code ergens wordt gebruikt. Deze procedure wordt meestal parallel uitgevoerd met de ontwikkeling van nieuwe code en direct na de voltooiing ervan, voorafgaand aan de testfase. āSoftwaretesting kijkt van buitenaf naar de code, maar codeanalyse laat je het van binnenuit bekijkenā, legt medeoprichter en CEO van DeepCode, Boris Paskalev, uit in een interview met VentureBeat.
Meestal wordt de codecontrole uitgevoerd door de auteurs, samen met collega's en managers, om duidelijke fouten op te sporen voordat ze verder gaan met de volgende fasen van ontwikkeling. En hoe groter het project, hoe meer regels code er gecontroleerd moeten worden, wat een aanzienlijke hoeveelheid tijd kost voor programmeurs. Tools die dit proces moeten versnellen, bestaan al geruime tijd, zoals statische codeanalyse-tools als Coverity en PVS-Studio, maar ze zijn meestal beperkt in hun mogelijkheden, omdat ze zich richten op 'storen en herhalende stilistische problemen, opmaak en kleine logische fouten', legt Paskalev uit.
DeepCode dekt daarentegen een breder scala aan problemen, zoals het ontdekken van kwetsbaarheden zoals cross-site scripting en SQL-injecties, omdat de ingebouwde algoritmes niet alleen de code analyseren als een set tekens, maar proberen de betekenis en het doel van het geschreven programma te begrijpen. Dit is gebaseerd op een machine learning-systeem dat miljarden regels code uit openbare open-source projecten gebruikt ter motivatie. DeepCode analyseert eerdere versies van de code en de daaropvolgende wijzigingen die zijn aangebracht, om te onderzoeken welke fouten echte programmeurs hebben gemaakt en hoe ze deze hebben gecorrigeerd, zodat het vergelijkbare oplossingen kan aanbieden aan zijn gebruikers. Daarnaast maakt het systeem gebruik van traditionele voorspellende algoritmes om mogelijke problemen in de code te vinden, vergelijkbaar met de eerder genoemde statische analysetools.
Een van de belangrijkste vragen bij het gebruik van DeepCode is: hoe betrouwbaar is de automatische codecontrole? Een analyse-nauwkeurigheid van minder dan 100% betekent dat ontwikkelaars hun code nog steeds handmatig moeten controleren. In dat geval, hoeveel tijd zal het gebruik van automatiseringstools daadwerkelijk besparen? Volgens Paskalev kan DeepCode ontwikkelaars ongeveer 50% van de tijd besparen die ze momenteel besteden aan het zelf vinden van fouten, wat een aanzienlijk cijfer is.
Ontwikkelaars kunnen DeepCode aansluiten op hun GitHub- of Bitbucket-accounts, en de tool ondersteunt ook lokale GitLab-configuraties. Daarnaast heeft het project een speciale API die ontwikkelaars in staat stelt om DeepCode in hun eigen ontwikkelsystemen te integreren. Na de koppeling aan de repository zal DeepCode elke wijziging in de code analyseren en potentiƫle problemen markeren.

āGemiddeld besteden ontwikkelaars ongeveer 30% van hun tijd aan het zoeken naar en verhelpen van fouten, maar DeepCode kan nu al de helft van die tijd besparen, en in de toekomst nog meer,ā zegt Boris. āDoordat DeepCode leert van de wereldwijde gemeenschap van ontwikkelaars, kan het meer problemen ontdekken dan ooit mogelijk was voor ƩƩn persoon of een hele groep beoordelaars.ā
Naast het nieuws van vandaag over het ontvangen van investeringen, heeft DeepCode ook een nieuw waardevol beleid voor zijn product aangekondigd. Tot nu toe was DeepCode gratis voor alleen open-source softwareprojecten. Nu zal het gratis te gebruiken zijn voor alle educatieve doeleinden 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 bij kleine teams. Daarnaast rekent DeepCode 20 dollar per ontwikkelaar per maand voor het implementeren van de oplossing in de cloud en 50 dollar per ontwikkelaar voor lokale ondersteuning.
Eerder heeft het team van DeepCode al 1 miljoen dollar aan investeringen ontvangen. Met nog eens 4 miljoen heeft het bedrijf aangegeven dat het van plan is om de ondersteunde programmeertalen uit te breiden naast Java, JavaScript en Python, inclusief de ondersteuning van C#, PHP en C/C++. Ze hebben ook bevestigd dat ze werken aan hun eigen geĆÆntegreerde ontwikkelomgeving.
Bron: 3dnews.ru
