Abo
  • 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. Dataport, verschiedene Standorte
  2. Bertrandt Technikum GmbH, Ehningen

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.



Anzeige
Hardware-Angebote
  1. täglich neue Deals bei Alternate.de

Proctrap 28. Okt 2018 / Themenstart

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

Kommentieren


Folgen Sie uns
       


Red Dead Redemption 2 auf der Xbox One X - Golem.de live

Wir zeigen auf zahlreich geäußerten Wunsch Red Dead Redemption 2 im Livestream auf der Xbox One X. In der Aufzeichung kommen die Details des zum Teil in 4K hereingezoomten Bildausschnittes gut zur Geltung.

Red Dead Redemption 2 auf der Xbox One X - Golem.de live Video aufrufen
Interview Alienware: Keiner baut dir einen besseren Gaming-PC als du selbst!
Interview Alienware
"Keiner baut dir einen besseren Gaming-PC als du selbst!"

Selbst bauen oder Komplettsystem kaufen, die Zukunft von Raytracing und was E-Sport-Profis über Hardware denken: Golem.de hat im Interview mit Frank Azor, dem Chef von Alienware, über PC-Gaming gesprochen.
Von Peter Steinlechner

  1. Dell Alienware M15 wird schlanker und läuft 17 Stunden
  2. Dell Intel Core i9 in neuen Alienware-Laptops ab Werk übertaktet

Dark Rock Pro TR4 im Test: Be Quiet macht den Threadripper still
Dark Rock Pro TR4 im Test
Be Quiet macht den Threadripper still

Mit dem Dark Rock Pro TR4 hat Be Quiet einen tiefschwarzen CPU-Kühler für AMDs Threadripper im Angebot. Er überzeugt durch Leistung und den leisen Betrieb, bei Montage und Speicherkompatiblität liegt die Konkurrenz vorne. Die ist aber optisch teils deutlich weniger zurückhaltend.
Ein Test von Marc Sauter

  1. Dark Rock Pro TR4 Be Quiets schwarzer Doppelturm kühlt 32 Threadripper-Kerne

Serverless Computing: Mehr Zeit für den Code
Serverless Computing
Mehr Zeit für den Code

Weniger Verwaltungsaufwand und mehr Automatisierung: Viele Entwickler bauen auf fertige Komponenten aus der Cloud, um die eigenen Anwendungen aufzubauen. Beim Serverless Computing verschwinden die benötigten Server unter einer dicken Abstraktionsschicht, was mehr Zeit für den eigenen Code lässt.
Von Valentin Höbel

  1. Kubernetes Cloud Discovery inventarisiert vergessene Cloud-Native-Apps
  2. T-Systems Deutsche Telekom will Cloud-Firmen kaufen
  3. Trotz hoher Gewinne Wieder Stellenabbau bei Microsoft

    •  /