-
Natural sciences
- Computer system security
- System software and middleware
- Language processors
Veel laagniveaucodebases (zoals de Linux kernel, OpenSSL, etc.) zijn veiligheidskritisch, maar ze zijn helaas ook complex en bevatten bugs. Een manier om bugs in zulke codebases te vinden is om regels en patronen voor code te definiëren, en om dan de codebase te doorzoeken op overtredingen daarvan. Helaas hangen zulke complexe codebases vaak af van vele ongeschreven regels en aannames die nooit gedocumenteerd zijn. Developers kennen misschien niet eens alle regels zelf. Daardoor kunnen ze die regels ook niet allemaal neerschrijven. Hoewel er technieken bestaan die automatisch zulke regels afleiden van een gegeven codebase, zijn ze traag en schalen ze slecht: developers zouden ze helemaal niet kunnen gebruiken. In dit project zullen we nieuwe technieken onderzoeken die statisch zulke ongeschreven regels afleiden van complexe codebases, en dan overtredingen tegen die regels opsporen. De focus zal liggen op technieken die schaalbaar zijn zodat developers ze zelf makkelijk kunnen draaien.