• IT-Karriere:
  • Services:

Linux-Kernel: Mit Machine Learning auf der Suche nach Bug-Fixes

Wichtige Patches, die in stabilen Kernel-Versionen landen sollten, werden von der Linux-Community oft vergessen oder übersehen. Abhilfe schaffen soll offenbar Machine Learning, wie die Entwickler Sasha Levin und Julia Lawall erklären.

Artikel veröffentlicht am ,
Die Linux-Community scheint mit der Fülle an Patches überfordert zu sein.
Die Linux-Community scheint mit der Fülle an Patches überfordert zu sein. (Bild: David Stenlay, flickr.com/CC-BY 2.0)

Die Entwicklung des Linux-Kernels folgt bestimmten Regeln, die für Außenstehende oft nur schwer nachvollziehbar sind. Dazu gehöre etwa, dass Patches für die aktuelle stabile Version von Linux nur in diesen Zweig gelangten, wenn sie auch als stabil markiert seien, sagte der bei Microsoft angestellte Entwickler Sasha Levin auf dem Open Source Summit in Edinburgh. Daraus ergebe sich jedoch das organisatorische Problem, dass oft Patches vergessen oder übersehen würden, die eigentlich in dem stabilen Zweig landen sollten. Helfen soll hier ein Machine-Learning-Ansatz, um die richtigen Patches zu finden.

Stellenmarkt
  1. über duerenhoff GmbH, Raum Unterhaching
  2. operational services GmbH & Co. KG, Frankfurt am Main, Berlin, München, Zwickau, Dresden

Erschwert wird die Suche dadurch, dass nur bestimmte Patches in dem stabilen Zweig landen sollen und eben nicht alle. Dazu gehören Fehlerbehebungen ebenso wie Patches, die Sicherheitslücken schließen oder auch solche, welche die Unterstützung für Hardware nachrüsten, aber eben keine, die neue Funktionalität bringen. Die Übergänge seien jedoch oft fließend und fast alle für die verschiedenen Subsysteme zuständigen Teams hätten unterschiedliche Regeln dafür, was als Patch für den stabilen Zweig gelte, und was nicht, sagte Levin.

Die bisherige Situation und Vorgehensweise ist laut Levin nicht viel mehr als ein "schlechtes Rosinenpicken", bei dem zu viele Patches übersehen würden. Das betreffe etwa auch immer wieder Patches, die Sicherheitslücken schließen, bei denen zum Zeitpunkt der Patchveröffentlichung jedoch nicht klar war, dass der Patch eine potentielle Sicherheitslücke schließt. Levin schätzt gar, dass rund 50 Prozent der Patches, die notwendigerweise in dem stabilen Zweig landen sollten, dort nicht eingepflegt würden. Menschen seien in der Beurteilung dafür einfach nicht gut genug.

Patches durchsuchen und die Richtigen finden

Gemeinsam mit der Sicherheitsforscherin Julia Lawall, die für das französische Forschungsinstitut Inria arbeitet, hat Levin den Versuch unternommen, den Prozess der Suche nach Patches für den stabilen Zweig mit Hilfe von Machine Learning zu automatisieren. Je nach Ansatz der beiden werden die verfügbaren Patches hierbei nach verschiedenen Merkmalen durchsucht, die dafür sprechen, dass der Patch im stabilen Zweig landen sollte.

Dazu gehören Kommentare in der sogenannten Commit-Message ebenso wie bestimmte Eigenschaften des Patches selbst. Offensichtliche Schlagworte sind etwa Bugfix, Panic oder Memory-Leak. Patches, die lediglich eine Überprüfung für Array-Grenzen hinzufügen oder die Überprüfung einer Variable auf Null, sind laut Lawall ebenso sehr wahrscheinlich Kandidaten für den stabilen Zweig. Als Trainingsgrundlage der Modelle dienten darüber hinaus mehrere Zehntausend Patches, die tatsächlich im stabilen Zweig des Kernel gelandet sind.

Lawall und Levin haben so mit unterschiedlichen Ansätzen und Optimierungen Modelle geschaffen, die neue Patches darauf überprüfen, ob diese auch in den stabilen Zweig landen sollten. Levin nutzt das System bereits als Indikator, um übersehene Patches für den stabilen Zweig vorzuschlagen. Besonders gut funktioniere das so erstellte System aber noch nicht. Immerhin sei der gesamte Prozess abseits des Modells noch nicht automatisiert.

Noch keine Automatisierung

Langfristig könnte es möglich sein, dass die von dem Modell gefundenen Patches auch wirklich automatisiert vorgeschlagen werden. Noch sind die Modelle dafür aber nicht gut genug. So experimentierte Levin etwa mit einem Bot für eine Mailingliste, der diese Aufgabe übernommen hat, jedoch viel zu viel Rauschen verursacht hat. So konnte der Bot etwa nicht zwischen einem normalen Bugfix und einem Bugfix für den stabilen Zweig unterscheiden. Sinnvollerweise sollte der Bot ja aber nur auf vergessene Patches für den stabilen Zweig hinweisen.

Auch Lawall habe bereits über eine aktive Verwendung der Forschungsarbeit nachgedacht, jedoch noch keine konkreten Pläne dazu. Zuerst soll das Modell weiter verbessert werden, eventuell auch auf Grundlage einer anderen Art neuronalem Netzwerk als bisher. Dass der Ansatz grundsätzlich funktioniert, davon scheinen aber sowohl Lawall als auch Levin überzeugt.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Top-Angebote
  1. jetzt registrieren
  2. (u. a. Dead by Daylight für 5,49€, Cities Skylines Deluxe Edition für 5,29€, Resident Evil 3...
  3. 148,27€ (mit Rabattcode "POWERSUMMER20" - Bestpreis!)
  4. (u. a. Deal des Tages: Acer H5385BDi Beamer - HD, 4000 Lumen für 373,15€, Kingston A400 SSD...

Proctrap 28. Okt 2018

ne, die steuern ja eben keinen Code bei https://www.youtube.com/watch?v=iYWzMvlj2RQ


Folgen Sie uns
       


Assassin's Creed Valhalla angespielt

Im Video zeigt Golem.de selbst aufgenommenes Gameplay aus Assassin's Creed Valhalla. In dem Actionspiel treten die Spieler als Wikinger in England an.

Assassin's Creed Valhalla angespielt Video aufrufen
    •  /