Vi presenterar SymNet, ett nätverk statiskt analysverktyg baserat på symboliskt utförande. SymNet injicerar symboliska paket och spårar deras utveckling genom nätverket. Vår viktigaste nyhet är SEFL, ett språk som vi utformade för att uttrycka dataplan bearbetning på ett symboliskt utförande vänligt sätt. SymNet analyserar statiskt en abstrakt dataplansmodell som består av SEFL-koden för varje nod och länkarna mellan noderna. SymNet kan kontrollera nätverk som innehåller routrar med hundratusentals prefix och NATs på några sekunder, samtidigt som de verifierar pakethuvudets minnessäkerhet och täcker nätverksfunktioner såsom dynamisk tunnelbrytning, tillståndsfull bearbetning och kryptering. Vi använde SymNet för att felsöka mellanboxinteraktioner från litteraturen, för att kontrollera egenskaper hos vår avdelnings nätverk och Stanford ryggrad. Det är inte lätt att modellera nätverksfunktioner. För att hjälpa användare har vi utvecklat parsrar som automatiskt genererar SEFL-modeller från router- och switchbord, brandväggskonfigurationer och godtyckliga Click modulära routerkonfigurationer. Parsrarna förlitar sig på färdiga modeller som är exakta och snabba att analysera. Slutligen har vi byggt ett automatiserat testverktyg som kombinerar symbolisk körning och testning för att kontrollera om modellen är en korrekt representation av den verkliga koden.
Symnet REF verifierar dataplan modeller som byggts med SEFL, ett språk som utformats för att symboliskt utföras.
SymNet: Scalable symbolic execution for modern networks
{'venue': "SIGCOMM '16", 'journal': None, 'mag_field_of_study': ['Computer Science']}