Microsoft debugt software met machine learning

Voor het debuggen van beveiligingsproblemen zijn eigen diensten vertrouwt Microsoft op machine learning-algoritmes. 99 procent van de tijd identificeren die bugs correct, en Meestal schatten ze zelfs de ernst ervan goed in.

Microsoft schakelt de hulp van machine learning-tools in om zijn interne debugproces te stroomlijnen. Dat verklapt het bedrijf bij monde van Senior Security Program Manager Scott Christiansen in een blogpost. Die biedt boeiende inzichten over de schaal waarop Microsoft problemen moet verhelpen, en de rol die nieuwe technologie daarbij speelt.

47.000 ontwikkelaars genereren samen 30.000 bugs per maand, gespreid over code in meer dan 100 AzureDevOps en GitHub-repositories. Dergelijke volumes bolwerken met mankracht alleen is onbegonnen werk. Microsoft zocht een manier om bugs te detecteren, het onderscheid te maken tussen klassieke fouten en beveiligingsproblemen, en securitybugs vervolgens naar ernst toe te rangschikken.

Kwalitatieve data

“Sinds 2001 heeft Microsoft 13 miljoen work items en bugs verzameld”, zegt Christiansen. Die semi-gecureerde data zijn ideaal om machine learning-algoritmes op los te laten. Die algoritmes zijn vandaag voldoende getraind dat ze in 99 procent van de tijd securitybugs correct kunnen onderscheiden van andere problemen. 97 procent van die bugs worden vervolgens correct geclassificeerd volgens hoe kritiek ze zijn.

Microsoft bouwde de techniek uit door de miljoenen bestaande datapunten kwalitatief te beoordelen en te labelen. Het grote volume van kwalitatieve data was doorslaggevend voor het succes van het project. Alle trainingsdata werden vooraf goedgekeurd door beveiligingsexperts, aangezien de machine learning-algoritmes het werk van die experts moesten verlichten. Microsoft plant de aanpak de komende maanden als opensource-model te delen via Github.