Systemkonfigurationsspråk ger kraftfulla abstraktioner som förenklar hanteringen av storskaliga, nätverksanslutna system. Tusentals organisationer använder nu konfigurationsspråk, till exempel Puppet. Specifikationer skrivna på konfigurationsspråk kan dock ha fel och skalet är det enklaste sättet att felsöka ett felkonfigurerat system. Tyvärr är det osäkert att använda skalet för att åtgärda problem när ett systemkonfigurationsspråk används: en fix som tillämpas från skalet kan få systemet att glida från det tillstånd som anges av konfigurationsspråket. Trots sina fördelar tvingar alltså konfigurationsspråk systemadministratörer att ge upp skalets enkelhet och förtrogenhet. Detta dokument presenterar en syntesbaserad teknik som gör det möjligt för administratörer att använda konfigurationsspråk och skal i harmoni. Administratörer kan rätta fel med hjälp av skalet och tekniken reparerar automatiskt specifikationen på högre nivå skriven på konfigurationsspråket. Metoden (1) producerar reparationer som överensstämmer med den fix som görs med hjälp av skalet; (2) producerar reparationer som kan underhållas genom att minimera redigeringar som gjorts enligt den ursprungliga specifikationen; (3) rankas och presenterar flera reparationer när det är relevant; och (4) stöder alla skal som administratören kan vilja använda. Vi implementerar vår teknik för Puppet, ett allmänt använt system konfigurationsspråk, och utvärdera det på en svit av riktmärken under 42 reparationsscenarier. Den topprankade reparationen väljs av människor 76% av tiden och den mänskliga-ekvivalenta reparationen rankas 1.31 i genomsnitt.
, Tortoise REF sprider kompletta systemkonfigurationsfixar från ett användarskal till en systemkonfigurationsspecifikation.
Tortoise: Interactive system configuration repair
{'venue': '2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)', 'journal': '2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)', 'mag_field_of_study': ['Computer Science']}