Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Thu 18 May 2023 11:00 - 11:15 at Meeting Room 112 - Industry forum 1 Chair(s): Kelly Blincoe

Infer [1] is a scalable and extensible open-source static analysis platform, maintained and used by Meta. Infer supports several languages - including Erlang [2], the language of WhatsApp server - and can detect various types of issues in the codebases. Infer’s analysis engine performs modular and compositional inter-procedural analysis by synthesizing function summaries based on the properties being checked. However, code complexity, unknown functions (e.g. unmodeled library functions) and other factors might cause their summary synthesis to fail [3]. No execution paths are explored in such cases, which also propagates up in the call hierarchy. We observed that this often leads to Infer missing potential valid results matching input properties. Recently, we introduced Fausta [4], an algorithmic traffic generation platform to analyze and test WhatsApp server’s code at scale. Fausta includes various strategies to synthesize realistic backend server traffic that closely simulates production data, without replaying any real user data. The executions resulting from feeding the generated traffic to the server are therefore representative of real production cases. In this work, we boost Infer’s static analysis with dynamic data obtained from Fausta and from unit as well as end-to-end tests that are normally executed in WhatsApp CI. We use Erlang’s tracing features on dynamic runs to produce sets of input/output relations for the functions for which Infer failed to produce summaries. The input/output relations represent particular code executions, fitting seamlessly into Infer’s analysis. They provide valuable and realistic information for functions without summaries allowing Infer to keep exploring paths that were previously skipped. An overview can be seen in Fig. 1. Both Infer and Fausta regularly scan WhatsApp server’s Erlang codebase, detecting reliability issues and checking user-defined properties. In our initial experiments we observed that boosting Infer’s static analysis with dynamic data from Fausta and tests has helped to discover behaviours related to some of our internal properties that were not possible to detect before by the two platforms in isolation.

Thu 18 May

Displayed time zone: Hobart change

11:00 - 12:30
Industry forum 1Industry Forum at Meeting Room 112
Chair(s): Kelly Blincoe University of Auckland
11:00
15m
Talk
Boosting Static Analysis with Dynamic Runtime Data at WhatsApp Server
Industry Forum
11:15
15m
Talk
Personalized action suggestions in low-code automation platforms
Industry Forum
Saksham Gupta Microsoft, Gust Verbruggen Microsoft, Mukul Singh Microsoft, Sumit Gulwani Microsoft, Vu Le Microsoft
11:30
15m
Talk
Towards formal repair and verification of industry-scale deep neural networks
Industry Forum
Satoshi Munakata Fujitsu, Susumu Tokumoto Fujitsu Limited, Koji Yamamoto Fujitsu, Kazuki Munakata Fujitsu
11:45
15m
Talk
Challenges and Solution Strategies to Setup an MLOps Process to Develop and Assess a Driverless Regional Train Example
Industry Forum
Marc Zeller Siemens AG, Martin Rothfelder Siemens AG, Cornel Klein Siemens AG
12:00
15m
Talk
Automated Feature Document Review via Interpretable Deep Learning
Industry Forum
yeming ZTE Corporation, Yuanfan Chen ZTE Corporation, Xin Zhang Peking University, Jinning He ZTE, Jicheng Cao ZTE Corporation, Dong Liu ZTE, Shengyu Cheng ZTE Corporation, Jing Gao ZTE Corporation, Hailiang Dai ZTE Corporation