Swift är en ny principiell strategi för att bygga webbapplikationer som är säkra genom konstruktion. I moderna webbapplikationer är vissa programfunktioner vanligtvis implementerade som klient-side-kod skriven i JavaScript. Flytta kod och data till kunden kan skapa säkerhetssårbarheter, men för närvarande finns det inga bra metoder för att bestämma när det är säkert att göra det. Swift partitionerar automatiskt programkoden samtidigt som den garanterar att den resulterande placeringen är säker och effektiv. Anmälningskod skrivs som Java-liknande kod kommenterad med informationsflödespolicyer som anger sekretess och integritet för webbapplikationsinformation. Kompilatorn använder dessa principer för att automatiskt partitionera programmet till JavaScript-kod som körs i webbläsaren, och Java-kod som körs på servern. För att förbättra interaktiv prestanda placeras kod och data på klientsidan. Dock placeras alltid säkerhetskritisk kod och data på servern. Kod och data kan också kopieras över klienten och servern, för att få både säkerhet och prestanda. En maximalflödesalgoritm används för att placera kod och data på ett sätt som minimerar klient-server kommunikation.
Automatiska tekniker kan partitionera en Jif webbapplikation mellan sin klient och servern REF.
Secure web applications via automatic partitioning
{'venue': 'SOSP', 'journal': None, 'mag_field_of_study': ['Computer Science']}