ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Thu 18 Apr 2024 11:00 - 11:15 at Glicínia Quartin - Dependability and Formal methods 2 Chair(s): Jácome Cunha

Causal discovery is a powerful technique for identifying causal relationships among variables in data. It has been widely used in various applications in software engineering. Causal discovery extensively involves conditional independence (CI) tests. Hence, its output quality highly depends on the performance of CI tests, which can often be unreliable in practice. Moreover, privacy concerns arise when excessive CI tests are performed.

Despite the distinct nature between unreliable and excessive CI tests, this paper identifies a unified and principled approach to addressing both of them. Generally, CI statements, the outputs of CI tests, adhere to Pearl’s axioms, which are a set of well-established integrity constraints on conditional independence. Hence, we can either detect erroneous CI statements if they violate Pearl’s axioms or prune excessive CI statements if they are logically entailed by Pearl’s axioms. Holistically, both problems boil down to reasoning about the consistency of CI statements under Pearl’s axioms (referred to as CIR problem).

We propose a runtime verification tool called CICheck, designed to harden causal discovery algorithms from reliability and privacy perspectives. CICheck employs a sound and decidable encoding scheme that translates CIR into SMT problems. To solve the CIR problem efficiently, CICheck introduces a four-stage decision procedure with three lightweight optimizations that actively prove or refute consistency, and only resort to costly SMT-based reasoning when necessary. Based on the decision procedure to CIR, CICheck includes two variants: ED-Check and P-Check, which detect erroneous CI tests (to enhance reliability) and prune excessive CI tests (to enhance privacy), respectively. We evaluate CICheck on four real-world datasets and 100 CIR instances, showing its effectiveness in detecting erroneous CI tests and reducing excessive CI tests while retaining practical performance.

Thu 18 Apr

Displayed time zone: Lisbon change

11:00 - 12:30
Dependability and Formal methods 2Research Track / Software Engineering Education and Training / Demonstrations / Software Engineering in Practice at Glicínia Quartin
Chair(s): Jácome Cunha University of Porto & HASLab/INESC
11:00
15m
Talk
Enabling Runtime Verification of Causal Discovery Algorithms with Automated Conditional Independence Reasoning
Research Track
Pingchuan Ma HKUST, Zhenlan Ji The Hong Kong University of Science and Technology, Peisen Yao Zhejing University, Shuai Wang The Hong Kong University of Science and Technology, Kui Ren Zhejiang University
11:15
15m
Talk
Translation Validation for JIT Compiler in the V8 JavaScript Engine
Research Track
11:30
15m
Talk
Assessing the impact of hints in learning formal specification
Software Engineering Education and Training
Alcino Cunha University of Minho; INESC TEC, Nuno Macedo University of Porto; INESC TEC, José Creissac Campos University of Minho & HASLab/INESC TEC, Iara Margolis Center for Computer Graphics, Emanuel Sousa Center for Computer Graphics
11:45
15m
Talk
GWP-ASan: Sampling-Based Detection of Memory-Safety Bugs in Production
Software Engineering in Practice
12:00
15m
Talk
Dynamic Alert Suppression Policy for Noise Reduction in AIOps
Software Engineering in Practice
karan bhukar IBM Research, Harshit Kumar IBM Research, Ruchi Mahindru IBM Research, Rohan Arora IBM Research, Seema Nagar IBM Research, Pooja Aggarwal IBM Research, Amit Paradkar IBM Watson Research Center
12:15
7m
Talk
What Do You Mean by Memory? When Engineers Are Lost in the Maze of Complexity
Software Engineering in Practice
Gunnar Kudrjavets Amazon Web Services, USA, Aditya Kumar Google, Jeff Thomas Meta Platforms, Inc., Ayushi Rastogi University of Groningen, The Netherlands
DOI Pre-print
12:22
7m
Talk
SpotFlow: Tracking Method Calls and States at Runtime
Demonstrations
Pre-print Media Attached