AWS machine learning toolset CodeGuru wordt algemeen beschikbaar

AWS maakt bekend dat CodeGuru vanaf nu algemeen beschikbaar is. CodeGuru is een set tools die gebruik maakt van machine learning om code automatisch te controleren op fouten en mogelijke verbeteringen aan te duiden. Afgelopen december ging de tool in preview via AWS re:Invent. 

CodeGuru bestaat uit twee verschillende tools: Reviewer en Profiler. Deze namen beschrijven ook precies wat de tools doen. Om Reviewer te bouwen, trainde het team van AWS zijn algoritme met de code van meer dan 10.000 opensource-projecten op GitHub. Ook gebruikte het team reviews van de interne codebase binnen Amazon. 

“Zelfs voor een groot bedrijf als Amazon is het een uitdaging om genoeg ervaren developers met voldoende vrije tijd te hebben om code te controleren, gezien de hoeveelheid code die elke dag wordt geschreven.” Dat schrijft AWS in zijn aankondiging over de beschikbaarheid van CodeGuru. Daaraan voegt het bedrijf toe: “Zelfs de meest ervaren controlleurs missen problemen voordat ze invloed hebben op consumentgerichte applicaties, wat leidt tot fouten en problemen met prestaties.”

CodeGuru Reviewer

Met CodeGuru kunnen developers hun code nog altijd toevoegen aan hun eigen gewenste repository. Dat kan GitHub, Bitbucket Cloud, CodeCommit van AWS zelf of een andere dienst. Nadat de code in een repository is geplaatst, analyseert  CodeGuru Reviewer de code op fouten. Als de tool fouten tegenkomt, stelt hij meteen mogelijke oplossingen voor. 

Dat alles gebeurt binnen de context van de code repository. CodeGuru creëert dan bijvoorbeeld een GitHub pull request. Aan dat pull request voegt de tool een opmerking toe met meer informatie over de fout en mogelijke oplossingen. Om het machine learning model verder te trainen, kunnen gebruikers CodeGuru ook feedback geven. Dit is echter heel beperkt en zal vooral zijn in de vorm van een duimpje omhoog of naar beneden.

CodeGuru Application Profiler

De CodeGuru Application Profiler heeft een net wat ander doel. De tools is bedoeld om developers te helpen om te achterhalen waar mogelijke inefficiënties zitten in hun code. De tool achterhaalt de duurste lijnen binnen de code. De tool biedt ondersteuning voor serverloze platforms zoals AWS Lambda en Fargate. 

Sinds de preview versie van CodeGuru Application Profiler heeft het team van Amazon de geschatte kosten toegevoegd aan regels met niet-geoptimaliseerde code. “Onze klanten ontwikkelen en draaien veel applicaties die miljoenen regels code bevatten. Het is enorm belangrijk om te zorgen dat de kwaliteit en efficiëntie van de code goed zijn, want bugs en inefficiënties in zelfs al een paar lijnen code kunnen erg kostbaar zijn”, verklaart Swami Sivasubramanian, vice president van Amazon Machine Learning.

Tijdens de preview-periode is een aantal bedrijven al begonnen CodeGuru te gebruiken. Het gaat onder andere om Atlassian, EagleDream en DevFactory.