Key points are not available for this paper at this time.
Immer wenn ein Fehler oder eine Sicherheitsanfälligkeit im Linux-Kernel erkannt wird, bemühen sich die Kernel-Entwickler, diesen zu beheben, indem sie einen Patch in die Hauptversion des Linux-Kernel-Quellbaums einführen. Viele Benutzer verwenden jedoch ältere „stabile“ Versionen von Linux, was bedeutet, dass der Patch auch auf eine oder mehrere dieser älteren Kernel-Versionen „backportiert“ werden sollte. Dieser Prozess ist fehleranfällig und es dauert in der Regel lange, bis der backportierte Patch veröffentlicht wird. Basierend auf einer empirischen Studie zeigen wir, dass etwa 8% aller in die Linux-Hauptversion eingereichten Commits auf ältere Versionen backportiert werden, wobei oft mehr als ein Monat vergeht, bevor der Backport verfügbar ist. Daher schlagen wir eine Patch-Backporting-Technik vor, die Patches automatisch von der Hauptversion von Linux in ältere stabile Versionen übertragen kann. Unser Ansatz synthetisiert zuerst eine partielle Transformationsregel basierend auf einem Patch der Linux-Hauptversion. Diese Regel kann dann verallgemeinert werden, indem die Übereinstimmung zwischen den Haupt- und Zielversionen analysiert wird. Die verallgemeinerte Regel wird dann auf die Zielversion angewendet, um einen backportierten Patch zu erzeugen. Wir haben unsere Transformationstechnik in einem Tool namens FixMorph implementiert und es an 350 Patches der Linux-Hauptversion bewertet. FixMorph portiert 75,1% davon korrekt zurück. Im Vergleich zu bestehenden Techniken verbessert FixMorph sowohl die Präzision als auch den Rückruf beim Backportieren von Patches. Abgesehen von der Automatisierung von Softwarewartungsaufgaben hilft das Patch-Backporting, die Exposition gegenüber bekannten Sicherheitsanfälligkeiten in stabilen Versionen des Linux-Kernels zu verringern.
Shariffdeen et al. (Do,), untersuchten diese Frage.