Wie Microsoft gegen die 30.000 Fehler vorgeht, die 47.000 Entwickler jeden Monat erzeugen

Microsofts Modell für maschinelles Lernen ist zu 99 Prozent genau

Microsoft beschreibt im Detail, wie es Fehler in seiner Software und seinen Diensten mit Hilfe von Modellen des maschinellen Lernens behandelt.

47.000 Entwickler erzeugen fast 30.000 Fehler pro Monat.

Der Softwarehersteller verfolgt diese Fehler über die GitHub- und AzureDevOps-Repositorys. Dies sind aber eine Menge Fehler, die mit der traditionellen Kennzeichnung und Priorisierung zu verfolgen sind.

Microsoft verwendet jetzt fast 20 Jahre historische Daten über 13 Millionen Arbeitsaufgaben und Fehler, um ein maschinelles Lernmodell zu erstellen, das in 99 Prozent der Fälle eine Trennung von Sicherheits- und Nicht-Sicherheitsfehlern ermöglicht. Es handelt sich um ein Modell, das Entwicklern dabei helfen soll, kritische Sicherheitsprobleme, die behoben werden müssen, genau zu identifizieren und zu priorisieren.

Unser Ziel war es, ein maschinelles Lernsystem zu entwickeln, das Fehler mit einem Genauigkeitsgrad, der dem eines Sicherheitsexperten so nahe wie möglich kommt, in Sicherheit/nicht-Sicherheit und kritisch/nicht-kritisch klassifiziert

Sicherheitsexperten und Datenexperten arbeiteten bei Microsoft zusammen, um das Modell zu erstellen und sicherzustellen, dass es in der Produktion überwacht werdenkann und dass eine Stichprobe von Fehlern manuell überprüft wird. Das Modell wird außerdem ständig mit neuen Daten, die von den Sicherheitsexperten von Microsoft überprüft werden, neu trainiert. Dieses Modell des maschinellen Lernens bedeutet, dass Microsoft nun in 99 Prozent der Fälle Sicherheitslücken genau identifiziert und in 97 Prozent der Fälle korrekt kennzeichnet.

Für ein Unternehmen der Größe von Microsoft ist es ungewöhnlich, dass es offenbart,wie viele Fehler seine Entwickler monatlich generieren, geschweige denn, wie es diese beseitigt. Microsoft plant nun, seine Methodik für GitHub zu öffnen, so dass andere Unternehmen mit ähnlichen Datensätzen ein ähnliches Modell implementieren können.