Abstract-Device förare är väsentliga komponenter i alla operativsystem (OS). De anger det kommunikationsprotokoll som gör det möjligt för operativsystemet att interagera med en enhet. Drivrutiner för nya enheter skapas dock vanligtvis för en specifik OS-version. Dessa förare måste ofta bakåtanpassas till de äldre versionerna för att den nya enheten ska kunna användas. Backporting görs ofta manuellt, och är tröttsamt och fel benägna. För att minska denna börda för utvecklare, föreslår vi ett automatiskt rekommendationssystem för att vägleda valet av backporting ändringar. Vår strategi analyserar versionshistoriken för signaler för att rekommendera kandidatändringar. Vi har utfört ett experiment på 100 Linuxdrivrutiner och har visat att vi kan ge en rekommendation som innehåller rätt backport för 68 av drivrutinerna. För dessa 68 fall finns 73,5 %, 85,3 % och 88,2 % av de rätta rekommendationerna i topp-1, topp-2 respektive topp-5 i rekommendationslistorna. De lyckade fallen omfattar olika typer av ändringar, inklusive ändring av registeråtkomst, radering av funktionsargument, ändring av ett funktionsnamn, ändring av konstant, och ändring av om villkor. Manuell utredning av misslyckade fall belyser begränsningar i vårt tillvägagångssätt, inklusive oförmåga att dra slutsatsen komplexa förändringar, och otillgänglighet av relevanta signaler i versionshistorik.
Thung m.fl. föreslog ett recommender system för att erbjuda kodändringskandidater som möjliggör backporting av Linux-drivrutiner kod REF.
Recommending Code Changes for Automatic Backporting of Linux Device Drivers
{'venue': '2016 IEEE International Conference on Software Maintenance and Evolution (ICSME)', 'journal': '2016 IEEE International Conference on Software Maintenance and Evolution (ICSME)', 'mag_field_of_study': ['Computer Science']}