Automatic Compositional Checking of Multi-object TypeState Properties of Software
摘要
In this paper we introduce a novel compositional technique for inter-procedural program analysis for checking temporal properties parametrized over several objects. The method is fully automated, scales on large code, and is easily extensible. We have implemented our technique at Meta. It now constitutes one of the core engines of PrivacyCAT [41] a code analysis system developed and used at WhatsApp to detect privacy defect in code at early stage of development. PrivacyCAT runs continuously on WhatsApp server code. Our experience shows that this technique is able to detect numerous real vulnerabilities and help developers to fix them before those vulnerabilities could affect users. This paper focuses on the theoretical foundations of the technique.